P. 1
Buku Visual Basic

Buku Visual Basic

|Views: 352|Likes:
Published by danankstya

More info:

Published by: danankstya on Oct 27, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

01/15/2013

pdf

text

original

Sections

  • Bab I Pengenalan Visual Basic
  • IDE Visual Basic
  • Menjalankan IDE
  • Memilih jenis Project
  • Jendela IDE
  • Toolbox
  • Mengatur Lingkungan Kerja Visual Basic
  • Mengatur Editor
  • Mengatur Format Editor
  • Mengatur hal-hal yang General
  • Mengatur Docking Jendela
  • Mengatur Environment
  • Mengatur SDI Development Environment atau MDI
  • Type Variabel
  • Operator Pada Visual Basic dan urutan operasinya
  • Operator Like
  • Deklarasi Variabel
  • Bab II Memahami Objek pada Visual Basic
  • Apa yang dimaksud dengan Objek
  • Dari mana datangnya Objek
  • Bekerja dengan objek
  • Mengatur Nilai properti
  • Mengambil nilai dari Properti
  • End Sub Beberapa properti yang umum
  • Beberapa Metode-metode umum
  • Beberapa Event yang umum
  • Objek Browser
  • Mengenal Form
  • Struktur kode pada Form
  • Beberapa Event, Metoda, dan Perintah pada Form
  • Bahasa Visual Basic Aplication
  • Konvensi penamaan dalam Visual Basic
  • Mengenal Struktur Kendali
  • Jenis Kontrol Standar
  • Label
  • a) Textbox
  • b) Option
  • Frame
  • d) CommandButton
  • ListBox
  • e) Combo Box
  • PictureBox
  • HScrollBar dan VScrollBar
  • Line dan Shape
  • Timer
  • DriveListBox
  • DirListBox
  • FileListBox
  • Bab IV Fungsi Bantu pada Visual Basic dan Visual Basic Aplication
  • Visual Basic Application
  • Deklarasi Konstanta
  • Struktur Perulangan
  • Fungsi Bantu pada Visual Basic
  • Fungsi Bantu Waktu
  • Module Pada Visual Basic
  • Deklarasi Variabel Pada Module
  • Deklarasi Fungsi dan Sub pada module
  • Procedure
  • Function Procedure
  • Mencetak Isi Form ke Printer
  • Memahami Objek App
  • Mendapatkan Path dimana aplikasi berada
  • Mendapatkan nama file Executable
  • Memeriksa apakah aplikasi telah dijalankan
  • Tidak menampilkan aplikasi pada task list ketika sedang berjalan
  • Memahami Objek Screen
  • Bab V MDI Form, Menu dan Objek Printer
  • Mengenal Multiple Document Interface
  • Membuat suatu Aplikasi MDI pada Visual Basic
  • Karakteristik dari MDI Form
  • Mendapatkan MDI Child yang sedang aktif
  • Mengatur MDI Child dalam jendela MDI form
  • Membuat Menu Pada Visual Basic
  • Membuat Garis Pemisah antar Menu
  • Melakukan Koding terhadap Menu
  • Membuat Menu yang memiliki tanda Check
  • Membuat Menu Pop Up
  • Memahami Objek Printer
  • Mencetak Data ke Objek Printer
  • Menentukan ukuran kertas
  • Menentukan posisi pencetakkan
  • Menentukan font pencetakkan
  • Menentukan orientasi pencetakkan
  • Mendapatkan informasi printer yang terinstalasi pada sistem
  • Menentukan Printer yang akan digunakan
  • Bab VI Database dan Data Kontrol
  • Konsep Database Relational
  • Tabel
  • Record
  • Index
  • Membuat Database dengan Visual Data Manager
  • Membuat Relasi antar database
  • Mengenal Data kontrol
  • DBList
  • Properti pada Data kontrol
  • 6.1.Memahami Jenis RecordSet
  • Metoda-metoda pada Data Kontrol
  • Bergerak dalam RecordSet
  • Mencari suatu record tertentu
  • Memeriksa hasil pencarian record
  • Menandai posisi record
  • Mengambil nilai field dari record aktif
  • Mengubah nilai field dari record aktif
  • Menambah record baru ke recordset
  • Menghapus record yang sedang aktif
  • Melakukan refresh data pada Recordset
  • Menutup suatu Recordset
  • Event Pada Data Kontrol
  • Event Error
  • Event Reposition
  • Event Validate
  • Bab VII Pengaturan MultiUser pada Data Kontrol
  • Masalah pada Pesimistik Locks
  • Masalah pada Optimistik Locks
  • Recordset pada lingkungan MultiUser
  • Table
  • Dynaset
  • Bab VIII
  • Mengenal SQL
  • Data Definition Language (DDL)
  • Membuat Tabel Baru
  • Membuat Index
  • Memodifikasi Tabel
  • Menghapus Table atau Index
  • Menambah data dengan APPEND query
  • Menghapus data dengan DELETE query
  • Memperbaiki Data dengan UPDATE query
  • Mengambil Data dengan SELECT query
  • Menganti nama kolom recordset dengan reserved word AS
  • Mengurut hasil query dengan ORDER BY clause
  • Mengetahui statistik data dengan Fungsi Agregate
  • Meringkas data dengan GROUP BY clause
  • Membatasi data yang telah diringkas dengan HAVING clause
  • Menggunakan predikat ALL, DISTINCT, DISTINCT ROW dan TOP
  • Mengambil kolom dari dua atau lebih tabel dengan Operasi INNER JOIN
  • Operasi LEFT JOIN, RIGHT JOIN
  • Membuat union query dengan Operasi UNION
  • Membuat CROSSTAB query dengan TRANSFORM statement
  • Bab IX Memahami ADODC melalui Data Form Wizard
  • Mengaktifkan fasilitas Data Form Wizard
  • Menjalankan Data Form Wizard
  • Mempelajari kontrol ADODC hasil Form Wizard
  • Bound TextBox pada ADODC
  • Memahami koding ADO melalui Data Form Wizard
  • Reference ke Microsoft ActiveX Data Objects 2.0 Library
  • Bound TextBox pada ADO

http://infoihsan.blogspot.com/ Bab I Pengenalan Visual Basic................................................................................................................................1 IDE Visual Basic..................................................

.......................................................................................1 Menjalankan IDE...................................................................................................................................1 Memilih jenis Project...........................................................................................................................1 Jendela IDE...........................................................................................................................................2 Toolbox.......................................................................................................................................................3 Mengatur Lingkungan Kerja Visual Basic ...........................................................................................3 Mengatur Editor ..................................................................................................................................3 Mengatur Format Editor ....................................................................................................................4 Mengatur hal-hal yang General .........................................................................................................4 Mengatur Docking Jendela ................................................................................................................4 Mengatur Environment .......................................................................................................................5 Mengatur SDI Development Environment atau MDI ...................................................................5 Bahasa Visual Basic Aplication ..............................................................................................................5 Type Variabel.........................................................................................................................................6 Operator Pada Visual Basic dan urutan operasinya........................................................................6 Operator Like .......................................................................................................................................6 Deklarasi Variabel ...............................................................................................................................7 Bab II Memahami Objek pada Visual Basic..........................................................................................................8 Apa yang dimaksud dengan Objek.........................................................................................................8 Dari mana datangnya Objek....................................................................................................................8 Bekerja dengan objek..............................................................................................................................9 Mengatur Nilai properti......................................................................................................................9 Mengambil nilai dari Properti.............................................................................................................9 Menggunakan Metode dalam Kode.....................................................................................................9 Beberapa properti yang umum..........................................................................................................10 Beberapa Metode-metode umum.....................................................................................................13 Beberapa Event yang umum...............................................................................................................14 Objek Browser.........................................................................................................................................15 Mengenal Form.........................................................................................................................................15 Struktur kode pada Form..................................................................................................................16 Beberapa Event, Metoda, dan Perintah pada Form ..................................................................17 Urutan Event pada Form....................................................................................................................19 Bahasa Visual Basic Aplication ............................................................................................................19 Konvensi penamaan dalam Visual Basic............................................................................................19 Mengenal Struktur Kendali .............................................................................................................20 Bab III Kontrol Standard........................................................................................................................................22 Jenis Kontrol Standar..........................................................................................................................22 Label......................................................................................................................................................22 a)Textbox............................................................................................................................................23 b)Option ..............................................................................................................................................24 c)Check ................................................................................................................................................25 Frame ...................................................................................................................................................25

http://infoihsan.blogspot.com/ d)CommandButton .............................................................................................................................26 ListBox.................................................................................................................................................28 e)Combo Box........................................................................................................................................30 f)Image.................................................................................................................................................31 PictureBox...........................................................................................................................................33 HScrollBar dan VScrollBar...............................................................................................................36 Line dan Shape....................................................................................................................................38 Timer....................................................................................................................................................39 DriveListBox........................................................................................................................................39 DirListBox............................................................................................................................................40 FileListBox...........................................................................................................................................41 Bab IV Fungsi Bantu pada Visual Basic dan Visual Basic Aplication...............................................................44 Visual Basic Application ........................................................................................................................44 Deklarasi Konstanta ..........................................................................................................................44 Struktur Perulangan..........................................................................................................................44 Struktur Kendali Nested..................................................................................................................45 Fungsi Bantu pada Visual Basic............................................................................................................46 Fungsi Bantu Konversi ......................................................................................................................46 Fungsi Bantu Waktu...........................................................................................................................49 Module Pada Visual Basic......................................................................................................................50 Deklarasi Variabel Pada Module.......................................................................................................51 Deklarasi Fungsi dan Sub pada module...........................................................................................51 Procedure.............................................................................................................................................51 Function Procedure............................................................................................................................52 Mencetak Isi Form ke Printer.............................................................................................................52 Memahami Objek App........................................................................................................................52 Mendapatkan Path dimana aplikasi berada....................................................................................53 Mendapatkan nama file Executable................................................................................................53 Memeriksa apakah aplikasi telah dijalankan.................................................................................53 Tidak menampilkan aplikasi pada task list ketika sedang berjalan...........................................53 Memahami Objek Screen..................................................................................................................54 Bab V MDI Form, Menu dan Objek Printer......................................................................................................56 Mengenal Multiple Document Interface............................................................................................56 Membuat suatu Aplikasi MDI pada Visual Basic...............................................................................56 Karakteristik dari MDI Form..........................................................................................................56 Mendapatkan MDI Child yang sedang aktif..................................................................................56 Mengatur MDI Child dalam jendela MDI form............................................................................57 Membuat Menu Pada Visual Basic........................................................................................................57 Membuat Garis Pemisah antar Menu..............................................................................................58 Melakukan Koding terhadap Menu...................................................................................................58 Membuat Menu yang memiliki tanda Check...................................................................................58 Membuat Menu Pop Up..........................................................................................................................59 Memahami Objek Printer......................................................................................................................60 Mencetak Data ke Objek Printer....................................................................................................60

http://infoihsan.blogspot.com/ Menentukan ukuran kertas................................................................................................................61 Menentukan posisi pencetakkan.......................................................................................................61 Menentukan font pencetakkan.........................................................................................................61 Menentukan orientasi pencetakkan................................................................................................62 Mendapatkan informasi printer yang terinstalasi pada sistem.................................................62 Menentukan Printer yang akan digunakan....................................................................................62 Bab VI Database dan Data Kontrol.......................................................................................................................63 Konsep Database Relational..................................................................................................................63 Tabel.....................................................................................................................................................64 Record..................................................................................................................................................65 Field65 Key 65 Index....................................................................................................................................................65 Membuat Database dengan Visual Data Manager............................................................................65 Membuat Relasi antar database..........................................................................................................69 Mengenal Data kontrol .........................................................................................................................70 DBList...................................................................................................................................................70 Properti pada Data kontrol...............................................................................................................71 6.1.Memahami Jenis RecordSet ..........................................................................................................71 Metoda-metoda pada Data Kontrol.....................................................................................................71 Bergerak dalam RecordSet...............................................................................................................71 Mencari suatu record tertentu.......................................................................................................72 Memeriksa hasil pencarian record..................................................................................................72 Menandai posisi record.....................................................................................................................72 Mengambil nilai field dari record aktif..........................................................................................73 Mengubah nilai field dari record aktif...........................................................................................73 Menambah record baru ke recordset............................................................................................73 Menghapus record yang sedang aktif.............................................................................................74 Melakukan refresh data pada Recordset......................................................................................74 Menutup suatu Recordset.................................................................................................................74 Event Pada Data Kontrol.......................................................................................................................74 Event Error..........................................................................................................................................74 Event Reposition.................................................................................................................................75 Event Validate.....................................................................................................................................75 Bab VII Pengaturan MultiUser pada Data Kontrol..............................................................................................76 Masalah pada Pesimistik Locks............................................................................................................77 Masalah pada Optimistik Locks...........................................................................................................78 Recordset pada lingkungan MultiUser................................................................................................80 Table.....................................................................................................................................................80 Dynaset................................................................................................................................................80 Bab VIII Mengenal SQL ............................................................................................................................................81 Data Definition Language (DDL)..........................................................................................................81 Membuat Tabel Baru..........................................................................................................................81

.....................................................................................................................................................................................................................0 Library........................................................................................... RIGHT JOIN ..................................89 Membuat union query dengan Operasi UNION......................89 Membuat CROSSTAB query dengan TRANSFORM statement.............86 Membatasi data yang telah diringkas dengan HAVING clause.................................................................................86 Menggunakan predikat ALL................................85 Membatasi hasil query dengan WHERE clause.......85 Mengambil Data dengan SELECT query..................95 Bound TextBox pada ADO...................................................................................................85 Menganti nama kolom recordset dengan reserved word AS........................................91 Bound TextBox pada ADODC...........................................................................84 Menambah data dengan APPEND query......................................................................................................................................................................90 Menjalankan Data Form Wizard..................com/ Membuat Index............blogspot.................96 .......................................................................................................................................................................................................87 Operasi LEFT JOIN..................................................................................................83 Memodifikasi Tabel.........................................94 Reference ke Microsoft ActiveX Data Objects 2............................................................................................................85 Mengurut hasil query dengan ORDER BY clause...............................................................................................89 Bab IX Memahami ADODC melalui Data Form Wizard.....................92 Memahami koding ADO melalui Data Form Wizard....................................................................84 Menghapus data dengan DELETE query..http://infoihsan......................................................................84 Menghapus Table atau Index..........86 Mengetahui statistik data dengan Fungsi Agregate..............91 Mempelajari kontrol ADODC hasil Form Wizard.................. DISTINCT..............................................................................................................................................................................................................................................................................................90 Mengaktifkan fasilitas Data Form Wizard......84 Memperbaiki Data dengan UPDATE query...................... DISTINCT ROW dan TOP.....................................................................................87 Mengambil kolom dari dua atau lebih tabel dengan Operasi INNER JOIN.............86 Meringkas data dengan GROUP BY clause..................................................................................

melakukan testing dan debuging serta menkompilasi program menjadi executable. misalnya file *.0 dan akhirnya Microsoft Visual Basic 6.vbp yang merupakan file project dari Visual Basic. karena dalam pemakaian aplikasi yang kita buat.0 Catatan : Seperti aplikasi Windows umumnya. maka anda akan dihadapkan kepada suatu pilihan terhadap jenis Project yang ingin anda buat sebagaimana yang ditunjukan oleh Gambar 1-2. dan baru dilakukan penulisan kode program untuk menangani kejadian-kejadian (event). Gambar 1-1. Tahap pengembangan aplikasi demikian dikenal dengan istilah pengembangan aplikasi dengan pendekatan Bottom Up. Sebagai langkah awal dari proses belajar adalah memilih project Standard EXE. Pada pemrograman Visual. Visual Basic menggunakan pendekatan Visual untuk merancang user interface dalam bentuk form. Mengaktifkan IDE Visual Basic 6. sedangkan untuk kodingnya menggunakan dialek bahasa Basic yang cenderung mudah dipelajari. Dalam lingkungan Window's User-interface sangat memegang peranan penting. melakukan koding.0.Bab I Pengenalan Visual Basic Visual Basic adalah salah suatu developement tools untuk membangun aplikasi dalam lingkungan Windows. kemudian mengatur properti dari objek-objek yang digunakan dalam user interface. Penguasaan yang baik akan IDE akan sangat membantu programmer dalam mengefektifkan tugas-tugasnya sehingga dapat bekerja dengan efisien. pilih menu Command. Visual Basic telah menjadi tools yang terkenal bagi para pemula maupun para developer. dan pilih Microsoft Visual Basic 6. Menjalankan IDE Salah satu cara untuk mengaktifkan IDE Visual Basic adalah menjalankannya dari Menu Start. pemakai senantiasa berinteraksi dengan User-interface tanpa menyadari bahwa dibelakangnya berjalan instruksi-instruksi program yang mendukung tampilan dan proses yang dilakukan. IDE Visual Basic Langkah awal dari belajar Visual Basic adalah mengenal IDE (Integrated Developement Environment) Visual Basic yang merupakan Lingkungan Pengembangan Terpadu bagi programmer dalam mengembangkan aplikasinya. Dalam pengembangan aplikasi. anda dapat juga mengaktifkan IDE Visual Basic dengan melakukan open terhadap file yang berkaitan dengan Visual Basic. pengembangan aplikasi dimulai dengan pembentukkan user interface. 1 . Dengan menggunakan IDE programmer dapat membuat user interface. Memilih jenis Project Sesaat anda aktif di IDE Visual Basic.

Sebagaimana dengan proses belajar ini. Sebagai contohnya anda dapat mengubah warna tulisan (foreground) dan warna latarbelakang (background). merupakan daftar properti-properti object yang sedang terpilih. Jika jendela-jendela tersebut tidak ada. ataupun menggunakan icon Project Explorer. 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 2 . dan peserta belajar menjadi bingung.Gambar 1-2. • • • • Jendela Form Designer. membuka project. karena penampilan dari jendela-jendela tersebut dapat diatur dengan perintah pada menu View. Sebagai langkah awal dari proses belajar. tetapi hanya beberapa yang penting. Jendela Code. adalah fasilitas cepat untuk mengubah warna suatu object. merupakan tempat bagi anda untuk menulis koding. Jendela Properties. tidak semua jendela akan kita gunakan. Jendela Form Layout. Anda dapat menampilkan jendela ini dengan menggunakan kombinasi Shift-F7. sedangkan yang lainnya bersifat khusus. jendela ini berisi komponen-komponen yang dapat anda gunakan untuk mengembangkan user interface. Jendela Toolbox. Jendela Project. digunakan untuk memilih tugas-tugas tertentu seperti menyimpan project. Adapun jendela-jendela yang perlu anda perhatikan adalah sebagai berikut : • • • Menu Bar. • • Jendela Color Palette. jendela ini merupakan tempat anda untuk merancang user interface dari aplikasi anda. Mungkin pada IDE anda hanya ditampilkan sebagian jendela dibandingkan dengan Gambar 1-3 anda tidak perlu terkejut. IDE Visual Basic dengan jendela-jendela yang terbuka. Dialog box New Project ditampilkan sesaat anda menjalankan IDE Visual Basic 6. Berikut ini adalah gambar yang menunjukan bagian-bagian dan nama-nama jendela yang dapat tampil pada IDE Visual Basic. Jendela IDE IDE Visual Basic 6 menggunakan model MDI (Multiple Document Interface). Jadi jendela ini menyerupai kanvas bagi seorang pelukis. jendela ini berisi gambaran dari semua modul yang terdapat dalam aplikasi anda. kita akan fokus pada beberapa jendela yang penting terlebih dahulu sehingga konsentrasi tidak menjadi pecah. 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. akan menunjukan bagaimana form bersangkutan ditampilkan ketika runtime. Anda dapat menggunakan F4 untuk menampilkan jendela properti. Anda dapat lihat pada Gambar 1-3. digunakan untuk melakukan tugas-tugas tertentu dengan cepat. dll Main Toolbar.

pengaturan dapat dilakukan sesuai dengan selera dan kebiasaan programmer sehingga dapat bekerja dengan baik dan efektif. WMF (metafile). oval. dan beberapa hal dapat diatur dengan menggunakan menu Tools. ComboBox merupakan konbinasi dari TextBox dan suatu ListBox dimana pemasukkan data dapat dilakukan dengan pengetikkan maupun pemilihan.0. HScrollBar dan VScrollBar digunakan untuk membentuk scrollbar berdiri sendiri. 5tetapi tidak dapat digunakan sebagai kontainer bagi kontrol lainnya. Toolbox Visual Basic 6 dengan semua kontrol intrinsic. ListBox mengandung sejumlah item. • • • • • • • • • • • • • Label adalah kontrol yang digunakan untuk menampilkan teks yang tidak dapat diperbaiki oleh pemakai. OptionButton sering digunakan lebih dari satu sebagai pilihan terhadap beberapa option yang hanya dapat dipilih satu.Toolbox Jendela Toolbox merupakan jendela yang sangat penting bagi anda. CommandButton merupakan kontrol hampir ditemukan pada setiap form. CUR (cursor). Option adalah sebagai berikut : Mengatur Editor 3 . gunakan icon ini ketika anda ingin memilih kontrol yang sudah berada pada form. dapat berupa satu baris tunggal. dan user dapat memilih lebih dari satu (bergantung pada property MultiSelect). Option. Mulai Visual Basic 5. IDE Visual Basic memperkenalkan MDI Developement Environment. Perhatikan gambar 1-3. dan digunakan untuk membangkitkan event proses tertentu ketika pemakai melakukan klik padanya. dll. bulatan. true/false. Shape dan Line digunakan untuk menampilkan bentuk seperti garis. dan FileListBox sering digunakan untuk membentuk dialog box yang berkaitan dengan file. Dari jendela ini anda dapat mengambil komponen-komponen (object) yang akan ditanamkan pada form untuk membentuk user interface. Merupakan kontrol non-visual. dan JPEG. persegi. GIF. TextBox adalah kontrol yang mengandung string yang dapat diperbaiki oleh pemakai. DriveListBox. CheckBox digunakan untuk pilihan yang isinya bernilai yes/no. DIB (bitmap). atau banyak baris. Timer digunakan untuk proses background yang diaktifkan berdasarkan interval waktu tertentu. 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. Adapun secara garis besar fungsi dari masing-masing intrinsic kontrol tersebut adalah sebagai berikut : • • Pointer bukan merupakan suatu kontrol. Word. DirListBox. Image berfungsi menyerupai image box. Frame adalah kontrol yang digunakan sebagai kontainer bagi kontrol lainnya. EMF (enhanced metafile). PictureBox adalah kontrol yang digunakan untuk menampilkan image dengan format: BMP. Mengatur Lingkungan Kerja Visual Basic Pengaturan IDE Visual Basic dapat dilakukan dengan menu Tools. ICO (icon).

Mengatur Format Editor Mengatur hal-hal yang General Mengatur Docking Jendela 4 .

Mengatur Environment Mengatur SDI Development Environment atau MDI Bahasa Visual Basic Aplication 5 .

maka pada VBA. Object.514.-) Lebih dari atau sama (>=) Imp Pengabungan String (&) Like Tabel 1-2. /) Kurang dari (<) Or Pembagian bulat (\) Lebih dari (>) Xor Sisa Bagi (Mod) Kurang dari atau sama (<=) Eqv Tambah dan Kurang (+.5807 14 byte +/-79.94065645841247E-324 (-) -922.335 8 byte 1 Januari 100 s/d 31 Desember 9999 4 byte Mengacu pada objek tertentu 10 byte + panjang 0 sampai lebih kurang 2 milyar string panjang dari string 1 sampai lebih kurang 65.401298E-45 (-) 1.79769313486232E308 s/d -4. Operator pada Visual Basic dan urutan operasi dari atas ke bawah Operator Like 6 .685.483.402823E38 (+) -1.337. komparasi dan logika. seperti type Currency.147..647 -3. Type Variabel Dibandingkan dengan type data yang terdapat pada bahasa basic. Type variabel. dan Variant.401298E-45 s/d 3.337. type data yang disediakan lebih banyak. pemakaian storage dan jangkauan masing-masing Operator Pada Visual Basic dan urutan operasinya Visual basic meyediakan operator aritmatika.264.Dasar dari pemrograman pada Visual Basic adalah VBA yang menggunakan dialek Basic.402823E38 s/d -1.162. Bagi anda yang pernah belajar bahasa Basic.477.648 s/d 2.543.147.203. Contoh : A=1+2*3 B = (1 + 2) * 3 'Akan menghasilkan 7 'Akan menghasilkan 9 Aritmatika Komparasi Logika Pangkat (^) Sama (=) Not Negatif (-) Tidak sama (<>) And Kali dan Bagi (*.400 16 byte 22 byte + panjang Sembarang angka sampai jangkauan jenis Double Sama dengan jangkauan variabel String karakter) string Tabel 1-1.5808 s/d 922. karena dapat berubah dari satu type ke type yang lain. menunjukkan operator dan urutan operasinya dari atas kebawah.483. sesuai dengan evaluasi ekspresi oleh Visual Basic.768 s/d 32767 -2.477. Decimal. Variant merupakan type variabel yang istimewa. 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. Type Data Byte Boolean Integer Long Single Double Currency Decimal Date Object String (panjang variabel) String (panjang tetap) Variant (dengan angka) Variant (dengan Ukuran Storage 1 byte 2 byte 2 byte 4 byte 4 byte 8 byte 8 byte Jangkuan 0 s/d 255 True atau False -32. adalah tugas programmer untuk memilih type yang sesuai untuk menghasilkan program yang efisien dan berperfomance tinggi.950. Tabel 1-2.228.685.337. tidak akan sulit untuk belajar VBA. Ketepatan pemilihan type variabel akan sangat menentukan pemakaian resources oleh aplikasi yang dihasilkan.593.203.

Syntax : Result = string Like pattern Karakter dalam pola ? * # [charlist] [!charlist] Tabel 1-3. 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. Penyamaan dalam string Sembarang karakter tunggal Nol atau lebih karakter Sembarang digit tunggal (0-9) Sembarang karakter yang berada dalam charlist Sembarang karakter yang tidak berada dalam charlist Character dalam pencocokan pola pada operator Like MyCheck = "aM5b" Like "a[L-P]#[!c-e]" MyCheck = "BAT123khg" Like "B?T*" MyCheck = "CAT123khg" Like "B?T*" Deklarasi Variabel Visual Basic memungkinkan kita untuk menggunakan variabel tanpa deklarasi. Deklarasi variabel pada Visual Basic dapat dilakukan dengan Keyword berikut : Keyword Public Private Dim Static Syntax : <keyword> NamaVariabel [As TypeVariabel] Digunakan pada Berlaku pada level modul Berlaku pada level modul Berlaku pada level modul dan level procedure Berlaku pada level procedure Tabel 1-4. ' Returns True. ' Returns True. ' Returns True. Contoh : • • • • • • • MyCheck = "aBBBa" Like "a*a" MyCheck = "F" Like "[A-Z]" MyCheck = "F" Like "[!A-Z]" MyCheck = "a2a" Like "a#a" ' Returns True. ' Returns False. atau pada menu Tools.Salaj satu operator yang menarik untuk dibahas adalah operator like. pilih Option. ' Returns True. dapat digunakan perintah : Option Explicit Pada setiap awal module. Keyword pada deklarasi variabel 7 . buat tanda check pada Require Variable Declaration. Operator digunakan untuk operasi pencocokan pola pada string yang akan sangat membantu programmer. pilih tab Editor.

Secara keseluruhan dari aplikasi dapat juga berupa suatu objek. jendela property menunjukkan nama kontrol dan jenis Class-nya Semua objek merupakan duplikasi dari class mereka. 8 . Untuk memahami hubungan antara objek dengan class-nya. Objek tersebut dikenal sebagai kontrol tidak akan ada sampai anda menanamkannya pada suatu form. Caption. metode-metode. masing-masing dapat memiliki Name. anda telah membuat suatu duplikasi atau instance dari class kontrol tersebut. kontrol Text1 yang ditanam diatas form berasal dari class Textbox Misalnya anda menamkan sebuah textbox diatas form1. dan event-event) yang sama. dimana yang terdefinisi pada class-nya. Ketika anda menanamkan suatu kontrol. Gambar 2-1. Gambar 2-2. Misalnya anda menanam tiga buah command button pada suatu form. Style yang berbeda sesuai dengan pengaturan pada masing-masing properti. coba perhatikan jendela properti kontrol tersebut akan menampilkan Text1 (nama dari kontrol textbox tersebut) dan Textbox (nama dari class kontrol tersebut). Tetapi. masing-masing dapat memiliki properti yang berbeda-beda. Pada saat run time. perhatikan contoh berikut : • Kontrol-kontrol yang berada pada jendela Toolbox pada Visual Basic merupakan classclass.Bab II Memahami Objek pada Visual Basic Apa yang dimaksud dengan Objek Objek 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. • Form dimana anda bekerja pada saat desain adalah suatu class. Dari mana datangnya Objek Setiap objek pada Visual Basic didefinisikan oleh suatu class. masing-masing command button merupakan instance dari class CommandButton sehingga memiliki sejumlah karakteristik dan kemampuan (properti-properti. Visual Basic menciptakan suatu instance dari class form. BackColor. Sesaat setelah menjadi objek berdiri sendiri.

hal tersebut tergantung kepada bagaimana kaitan perintah dan berapa argumen yang diperlukan. seperti klik pada mouse atau penekanan tombol. suatu data dari objek (setting dan atribut) disebut sebagai properti. Ketika suatu metode tidak membutuhkan argumen anda dapat menulisnya sebagai berikut : Objek. sedangkan berbagai subrutin yang dapat beroperasi pada objek tersebut disebut sebagai metodenya. metode-metode.Caption = "Pemakai Telepon" End Sub Gambar 2-4. sehingga anda dapat menulis kode untuk menangani event tersebut.Text End Sub Menggunakan Metode dalam Kode Ketika anda mengunakan suatu metode dalam kode anda. masing-masing kontrol dapat memiliki properti masing-masing Bekerja dengan objek Objek-objek Visual Basic memiliki properti-properti.Gambar 2-3. maupun pada saat runtime dengan menggunakan bentuk penulisan berikut : Objek. Pada Visual Basic.Metode Contoh : Private Sub cmdBuka_Click() frmPemakai.properti = ekspresi Contoh : Private Sub Form_Load() MyForm. dan event-event. dan apakah metode tersebut mengembalikan suatu nilai. Mengatur Nilai properti Anda dapat langsung mengatur nilai properti suatu kontrol pada jendela properti.show 9 . pengaturan properti dapat dilakukan melalui jendela properti pada waktu desain Mengambil nilai dari Properti Anda dapat mengambil nilai dari properti suatu objek dengan penulisan sebagai berikut : Variabel = Objek. Dan suatu event adalah aksi yang dikenali oleh suatu objek.properti Contoh : Private Sub cmdProses_Click() Nama = txtNama.

sedangkan Width dan Height menentukan ukuran dari objek tersebut. form dengan pemakaian backcolor dan forecolor Nb. Setting properti Backcolor menjadi tidak berfungsi jika anda menset properti BackStyle menjadi 0 . Properti Forecolor dan BackColor Umumnya objek yang visible memiliki properti Forecolor dan Backcolor. Nilai properti Left dan Top sifatnya relatif terhadap kontainernya (misalnya suatu textbox yang ditanamkan diatas form. Properti Left. Form1 merupakan kontainer bagi Text1 Nb.transparent. Gambar 2-5. 10 . 1 cm = 576 twips) Perhatian : Properti Width dan Height pada control Combobox sifatnya readonly. dan Backcolornya hanya berfungsi jika anda menganti properti style menjadi 1 . tetapi beberapa diantaranya tidak ada (misalnya control scroll-bars). Gambar 2-6. maka form tersebut disebut sebagai kontainer bagi textbox tersebut). Top. pada command button tidak terdapat properti Forecolor. Pada defaultnya nilai properti ini dinyatakan dalam twips ( 1 inch = 1440 twips.End Sub Beberapa properti yang umum Berikut ini akan dibahas beberapa properti yang umum yang hampir terdapat pada semua intrinsic kontrol pada Visual Basic.Graphical. Width dan Height Semua objek yang visible memiliki properti yang menentukan letak dan ukurannya. yang mempengaruhi warna tulisan dan warna latarbelakang.

hal tersebut harus dilakukan dengan properti Name. anda dapat menggunakan suatu warna standard.Font. Data.Gambar 2-7. Listbox dan Combobox). CommandButton. pengaturan Font melalui dialog box Font dari jendela properti 11 .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.Font. Checkbox.Name = "Tahoma" Text1.Font.Size = 12 Text1. Underline. Italic. Gambar 2-8. atau warna custom (saya menyarankan anda untuk menggunakan warna standard untuk menjaga nilai rasa pemakai integrasi dengan sistem operasi) Properti Font Pada waktu desain. Size.Font. karena sebenarnya Font adalah suatu objek campuran. Contoh : Text1. pengaturan Backcolor dan ForeColor melalui jendela properti Ketika anda menentukan nilai untuk properti ini. dan Frame). and Strikethrough. sebaliknya Text adalah tulisan yang dapat dimodifikasi oleh pemakai (control Textbox. Optionbutton. anda dapat menentukan properti Font dengan dialog box. Bold.Bold = True Text1. tetapi pada saat runtime.

jika nilainya bukan 0vbDefault. Anda dapat menyembunyikan suatu kontrol dengan menggunakan properti Visible = False. Pada properti Caption. bukan pada aplikasi anda. • Jika Screen. tetapi dapat diakses secara kode. Properti TabStop dan TabIndex Suatu kontrol yang dapat menerima fokus input memiliki properti TabStop.MousePointer adalah 0 dan mouse berada diatas permukaan suatu form atau berada diatas kontrol yang properti MousePointer adalah 0. kursor mouse akan mengikuti nilai ini. Visual Basic akan menggunakan nilai yang tersimpan pada properti Mousepointer pada form. Contoh : Kedua perintah ini adalah sama Text2. Kontrol yang properti Enabled = False tidak dapat diakses oleh pemakai. Properti MouseIcon dapat digunakan untuk menampilkan bentuk pointer mouse sesuai dengan keinginan pemakai.Text Text2 = Text1 Properti Enabled dan Visible Pada defaultnya semua control dan form adalah Enabled dan Visible. Windows memperbolehkan kita mengatur tampilan mouse untuk setiap form dan kontrol dengan mengikuti aturan berikut : • Jika properti Screen. kursor mouse akan di set ke nilai tersebut. dan kemudian set suatu icon pada properti MouseIcon. Properti TabStop menentukan apakah suatu kontrol dapat menerima fokus pada penekanan tombol Tab oleh pemakai. tampilan kursor akan bergantung kepada kondisi aplikasi bersangkutan. defaultnya adalah true. Visual Basic akan memeriksa nilai properti MousePointer kontrol tersebut. 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. karena merupakan properti default bagi suatu control.MousePointer di set ke nilai yang bukan 0-vbDefault. kita dapat menggunakan tanda & (ampersand) untuk menyatakan hotkey bagi control tersebut. Kontrol yang memiliki properti TabStop juga memiliki properti TabIndex. Properti Text dapat diabaikan. 'tanpa properti text Gambar 2-9. Programmer dapat juga menggunakan properti Locked = True untuk membuat suatu kontrol read only. tetapi ketika mouse berada diatas aplikasi lain (atau pada desktop). • Jika Screen. pengaturan Mouse Pointer dan Mouse Pointer melalui jendela properti 12 . tetapi sebelumnya properti MouseIcon harus di set ke 99-vbCustom.Text = Text1.MousePointer adalah 0 dan kursor mouse berada diatas suatu kontrol.Nb.

Contoh : Label1. Contoh : For n = 1000 To 1 Step -1 Label1. Contoh : 'Mendoublekan lebar form. dan memindahkan ke sudut kiri atas layar 'Syntaxnya adalah: Move Left.Properti Tag Semua kontrol mendukung properti Tag. Properti Tag digunakan sebagai kontainer untuk bagi data dari kontrol yang anda ingin simpan (misalnya anda dapat mengunakannya untuk menyimpan nilai awal dari textbox. Contoh : Private Sub cmdAdd_Click() Aksi = flAdd Call Buka Call Kosong txtCCode. Top. Form1. Metode Move Jika suatu kontrol mendukung properti Left.Refresh Next Metode SetFocus Metode ini memindahkan fokus input ke kontrol tertentu. tanpa kecuali. tetapi anda dapat menggunakannya untuk mengupdate tampilan seketika. Pada dasarnya Visual Basic otomatis memanggil metode ini setiap ada kesempatan. Contoh berikut mengubah tiga properti: Left.ZOrder 1 'Memindahkan ke atas 'Memindahkan ke bawah 'Memindahkan fokus ke kontrol txtCCode Pada saat design.SetFocus End Sub Metode ZOrder Metode ZOrder memberikan efek tampilan kontrol yang saling menimpa. ' Mengupdate label seketika. Width. juga mendukung metode Move. Sesuatu masalah yang sering terjadi adalah metode ini akan menyebabkan error ketika diterapkan pada kontrol yang sedang di Disable atau dalam keadaan Invisible. dan Ctrl+K untuk memindahkan form ke belakang. Untuk menhindari hal ini. Beberapa Metode-metode umum Berikut ini akan dibahas beberapa metode yang umum yang hampir terdapat pada semua intrinsic kontrol pada Visual Basic.Caption = CStr(i) Label1. karena properti ini disediakan oleh Visual Basic. dan Width. bukan oleh kontrol. 13 .ZOrder Label1. Top. metode SetFocus jangan digunakan pada bagian Form Load. Width. Height. 0.Move 0. Top. Gunakan argumen satu untuk sebaliknya. dan Height. sehingga pemakai dapat melakukan Undo dengan mengembalikan nilai awal tersebut dari properti Tag). dengannya dimana anda dapat mengubah beberapa atau semua properti dalam satu operasi tunggal. Anda menggunakan metode ini untuk memindahkan kontrol keatas kontrol yang lain. anda dapat menggunakan Ctrl+J untuk memindahkan kontrol ke depan.Width * 2 Metode Refresh Metode refresh menyebabkan suatu form akan digambar ulang. Form1.

SLJJ = optSLJJ. contoh pemakaian metode ZOrder Beberapa Event yang umum Berikut ini akan dibahas beberapa metode yang umum yang hampir terdapat pada semua intrinsic kontrol pada Visual Basic. Event Change juga dibangkitan oleh isi kontrol yang diubah melalui koding. event Click juga dibangkitkan kalau terjadi perubahan nilai properti Value secara koding.Text DatPemakai. JlhRec. Pada kontrol Scroll bar event Change terjadi ketika pemakai melakukan klik baik pada panah maupun scroll box. dan KeyUp Event-event ini dibangkitkan ketika pemakai menekan tombol pada keyboard pada kontrol yang memiliki fokus. yang lebih sesuai untuk masalah yang sama.Ekstension = txtEkstension. ListBox dan Combobox juga melakukan hal yang sama kalau properti ListIndex-nya berubah. (Tetapi pada kontrol ComboBox. KeyPress (Visual Basic menterjemahkan tombol ke numerik ANSI code). Event GotFocus dan LostFocus GotFocus dibangkitkan ketika kontrol menerima fokus.SLI = optSLI.Value DatPemakai. dan KeyUp (ketika 14 .CCode = txtCCode. DatPemakai Posisi = JlhRec End Sub Pada kontrol-kontrol seperti Checkbox dan OptionButton.Text DatPemakai. Private Sub cmdUpdate_Click() JlhRec = JlhRec + 1 DatPemakai.Value Put #1.Text DatPemakai.Gambar 2-10. karena tidak menjamin Event DblClick dibangkitkan setelah Event Click terjadi. Adalah penting untuk menghindari pemakaian Event Click dan DblClick pada satu kontrol yang sama. dan kontrol DirListBox. Pada kontrol TextBox dan ComboBox dibangkitkan ketika pemakai mengetik sesuatu. Tetapi pada CheckBox. Pada awalnya event ini banyak digunakan untuk mekanisme validasi ketika kontrol kehilangan fokus. Pada Visual Basic 6 telah diperkenalkan suatu event Validate event. demikian juga Event DblClick terjadi karena pemakai melakukan klik dua kali. dan LostFocus dibangkitkan ketika fokus meninggalkannya dan beralih ke kontrol lain. Event Click dan DblClick Event click terjadi ketika pemakai melakukan klik pada tombol kiri mouse. Event KeyPress. Urutan eventnya adalah : KeyDown (ketika pemakai menekan tombol). Event Change Event Change dibangkitkan ketika isi dari suatu kontrol berubah. DriveListBox. kontrol membangkitkan event Click kalau pemakai memilih item dari list dari pada mengetiknya). Event Change juga terdapat pada PictureBox. KeyDown.Local = optLocal.Value DatPemakai. dan OptionButton Event Click yang dibangkitkan.Nama = txtNama.

Anda dapat memanipulasinya untuk keperluan tertentu. tombol fungsi. textbox. BackSpace. Tombol lainnya--termasuk tombol panah. Enter. 15 . pengaturan ini dapat dilakukan dengan menu Tools. Pada form kita dapat menanamkan berbagai Kontrol seperti label. Hanya tombol yang berkaitan dengan tombol kontrol (Ctrl+x. Gambar 2-11. optionbutton. listbox.pemakai melepas tombol). combobox. dan event-event pada suatu objek dengan menggunakan fasilitas Objek Browser yang dapat diaktifkan dengan menggunakan menu View. Event KeyPress melewatkan ANSI code dari tombol yang ditekan. tidak menyebabkan event ini. Objek Browser Anda dapat melihat properti-properti. kemudian memilih tab General. dan Escape) serta karakter yang dapat dicetak membangkitkan event KeyPress event. serta Align Control to Grid. Object Browser. Gambar 2-12. jendela objek browser untuk melihat isi suatu objek Mengenal Form Form merupakan objek pertama yang anda hadapi begitu membuat suatu project dan merupakan tempat kita membentuk user interface. metode-metode. dll. user interface form dengan berbagai kontrol diatasnya Untuk memudah anda dalam menempatkan kontrol-kontrol pada form. kombinasi Alt+x. hanay membangkitkan event KeyDown dan KeyUp. Option. periksalah option seperti Show Grid dan ukurannya.

jendela option untuk pengaturan form Untuk memudahkan anda mengatur ukuran. bagian ini merupakan subrutin maupun fungsi yang dibuat oleh pemakai. bagian ini digunakan untuk deklarasi Option Explicit. jarak antar kontrol maupun pemerataan kontrol-kontrol yang anda tempatkan diatas form. Gambar 2-15. Bagian ini biasanya terletak pada bagian teratas pada jendela koding. menu format Struktur kode pada Form Memahami 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. dan nama subrutin. anda dapat menggunakan kelompok menu format Gambar 2-14.Gambar 2-13. 16 . Option Base. bagian general declaration pada jendela koding form • Bagian General Procedure. Type. dan variabel yang dapat digunakan pada form level (dikenal oleh semua subrutin pada form tersebut) baik pada tingkat Public maupun Private. Bagian ini ditandai dengan (General).

Contoh : Private Sub Form_Load() Open "C:\Pemakai. misalnya membuka file. anda perlu mengetahui dan mengerti Event-Event. Pada Event procedure ini anda letakkan statement yang digunakan untuk mengatur setting awal form anda. Ditandai dengan nama kontrol dan jenis eventnya. Event Terminate Event ini terjadi ketika objek Form akan dimusnahkan dari memori. Event Load Event ini terjadi ketika suatu form di Load. dan Perintah pada Form Supaya anda dapat bekerja baik dengan objek form. Metoda. bagian ini merupakan subrutin yang digunakan untuk menangani kejadian yang diakibatkan oleh aksi pemakai terhadap kontrol tertentu. bagian event procedure pada jendela koding form Beberapa Event. Event ini digunakan untuk menginisialisasi nilai awal variabel. Event Initialize Event ini terjadi pertama kali ketika Form dibuat dari Class-nya dan hanya sekali selama keberadaan form tersebut.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 17 . bagian general procedure pada jendela koding form • Bagian Event Procedure. Gambar 2-17.Gambar 2-16. Metode-Metode serta perintah yang berhubungan dengan pemakaian form. dan mengatur properti kontrol-kontrol pada form. menginisialisasi nilai awal variabel.

Case vbFormCode ' Form diclose dengan kode. Anda dapat mengetikkan kode-kode untuk menutup file-file yang terbuka pada Event ini. Event ini terjadi setelah Event QueryUnload. dan dapat mempelajari bagaimana pemakai menutup form tersebut dengan mempelajari parameter UnloadMode. Case vbAppWindows ' = 2 ' Session windows berakhir. 1 berarti proses Unload dibatalkan) Contoh : Private Sub Form_Unload(Cancel As Integer) Dim nPil As Integer nPil = MsgBox("Apakah Anda Yakin". ScaleHeight End Sub 18 '=5 '=4 '=3 ' Task manager mengakhiri program ini. Contoh : Private Sub Form_QueryUnload(Cancel As Integer. vbYesNo) If nPil = vbYes Then Close #1 Cancel = 0 Else Cancel = 1 End If End Sub Event Resize Event ini terjadi ketika form pertama kali ditampilkan atau ukuran dari suatu object berubah. (0 berarti proses UnLoad dilakukan.0. '=1 '=0 . End Select End Sub Parameter Cancel dapat digunakan untuk menentukan apakah proses dilanjutkan ke Event UnLoad atau tidak. Picture1. Case vbFormOwner ' From ditutup oleh Owner. Contoh : Private Sub Form_Resize () 'Mengubah ukuran PictureBox menjadi sama dengan ukuran form yang diresize.End Sub Event QueryUnload Event ini terjadi ketika suatu form akan tutup. Contoh : Private Sub Form_Unload(Cancel As Integer) Close #1 End Sub Parameter Cancel dapat digunakan untuk menentukan apakah proses UnLoad dilakukan atau tidak. _ UnloadMode As Integer) Select Case UnloadMode Case vbFormControlMenu ' From diclose oleh pemakai. ScaleWidth. (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.Move 0. Case vbAppTaskManager Case vbFormMDIForm ' From ditutup oleh MDI.

Syntax : Object.Hide End Sub Perintah UnLoad Melakukan UnLoad Form Syntax : UnLoad form Contoh : Private Sub cmdUnload_Click() Unload Form2 End Sub Urutan Event pada Form Secara garis besar Event pada Form adalah sebagai berikut : Initialize. dan membuatnya menjadi Visible. Event ini tidak terjadi pada saat UNLOAD. Perintah Load Melakukan Load Form. hanya sekali yaitu ketika form pertama kali dibuat dari Class-nya Load. Event DeActivate Event DeActivate terjadi ketika suatu form menjadi jendela yang tidak aktif. Bahasa Visual Basic Aplication Konvensi penamaan dalam Visual Basic 19 . hanya sekali yaitu ketika form dimusnahkan dari memori.Show Contoh : Private Sub cmdShow_Click() Form2.Show End Sub Metoda Hide Menyembunyikan form. dimana ketika focus bergeser ke form lain. properti yang mengembalikan nilai ukuran lebar interior dari suatu kontrol Event Activate Event Activate terjadi ketika suatu form menjadi jendela aktif. atau menggunakan metode SHOW atau SETFOCUS.Hide Contoh : Private Sub cmdHide_Click() Form2. ketika user melakukan klik pada form. tetapi tidak melakukan unload Syntax : Object. Activate Deactivate Terminate.Catatan : ScaleWidth. properti yang mengembalikan nilai ukuran lebar interior dari suatu kontrol ScaleHeight. tetapi tidak membuatnya menjadi Visibel Syntax : Load form Contoh : Private Sub cmdLoad_Click() Load Form2 End Sub Metoda Show Melakukan Load suatu Form.

dan class module yang mana anda ingin Visual Basic memaksakan suatu explicit variabel deklarasi Mengenal Struktur Kendali Struktur kendali memungkinkan anda untuk mengatur jalannya program anda. Struktur Keputusan Struktur keputusan yang didukung oleh Visual Basic adalah sebagai berikut : If. variables. variabel. suatu logika program akan berjalan dari kiri ke kanan dan dari atas kebawah. Catatan : Pernyataan Option Explicit hanya bekerja per-module. tidak melebihi 40 karakter.Then Gunakan suatu struktur If. Hanya program yang sangat sederhana dapat ditulis tanpa statement control-flow. dan True sebagai bukan nol. standard. function (seperti Len dan Abs). Nama dari procedure. Deklarasi Variabel • Deklarasi variabel pada bagian deklarasi di suatu form.. 20 .dan lainnya). Jika membiarkan tanpa di periksa oleh statement control-flow.. dari pada dalam suatu procedure. Anda dapat menggunakan syntax satu baris ataupun syntax banyak baris : If kondisi Then pernyataan atau If kondisi Then pernyataan-pernyataan End If Kondisi biasanya berupa suatu perbandingan. atau class module. Deklarasi Implicit Anda tidak perlu mendeklarasikan suatu variabel sebelum menggunakannya. 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. Deklarasi Explicit Untuk mencegah kesalahan mengetik variabel. constants. maupun ekspresi yang menghasilkan nilai numerik. dan module Tidak dapat sama dengan keywords yang tercadang.. membuat variabel itu berlaku untuk semua procedure dalam module tersebut • • Deklarasi variabel dengan menggunakan keyword Public membuatnya berlaku pada Deklarasi suatu variabel lokal dengan menggunakanan keyword Static akan keseluruhan aplikasi anda. Visual Basic menginterpretasikan False sebagai nol (0). forms. dan operator (seperti Or dan Mod). anda mendeklarasikan banyak elemen (Sub dan Function procedures. Ini terdiri dari predefined statements (seperti If dan Loop). menyimpan nilainya ketika suatu procedure berakhir.Ketika anda menulis Code Visual Basic. Keyword yang tercadang adalah kata yang Visual Basic gunakan sebagai bagian dari bahasanya. dan Visual Basic akan selalu memberikan peringatan jika menemukan nama yang tidak dideklarasikan terlebih dahulu sebagai suatu variabel. sehingga harus diletakkan pada bagian deklarasi pada setiap form.. classes.Then untuk menjalankan suatu pernyataan secara kondisional.

... maka Visual Basic akan memeriksa kondisi2..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]] .. Jika False.. Struktur Select Case bekerja dengan suatu percobaan tunggal yang hanya dievaluasi satu kali pada bagian atas struktur.. tetapi membuat code lebih mudah dibaca.If.. Visual Basic then membandingkan hasil ekspresi dengan nilai pada setiap Case didalam struktur tersebut.Then. jika ada yang sesuai.Then. dan seterusnya sampai menemukan suatu kondisi True untuk dijalankan blok pernyataannya. [Else [blok pernyataan-n]] End If Visual Basic awalnya akan mencoba kondisi1... Suatu Select Case statement memiliki kemampuan yang sama dengan If…Then… Else…. akan dijalankan blok statement yang sesuai Select Case ekspresiyangdicoba [Case ekspresi1 [blokpernyataan-1]] [Case ekspresi2 [blokpernyataan-2]] … [Case Else [blokpernyataan-n]] End Select 21 .Else. Contoh : If JlhRec > 0 Then Posisi = 1 Else Posisi = 0 End If Select Case Visual Basic menyediakan struktur Select Case sebagai suatu alternatif terhadap If.

Fixed Single) Digunakan untuk menentukan tulisan pada kontrol label.Custom) Digunakan untuk menentukan bentuk pointer yang digunakan ketika mouse pointer berada diatas kontrol label tersebut.Opaque). misalnya event Click. True) Digunakan untuk menentukan lebar kontrol label Digunakan untuk menentukan apakah tulisan dalam kontrol label dapat dilipat menjadi beberapa baris.manual. Digunakan untuk menentukan perlakuan terhadap tanda & ampersand sebagai access key. True) Digunakan untuk menentukan apakah kontrol label tersebut Visible atau tidak (False. 1 . Digunakan untuk menentukan bentuk border. ukuran. properti ini berarti bila properti MousePointer diset menjadi (99 . True) Digunakan untuk menentukan warna latar belakang (properti ini saling berkaitan dengan properti Appearance) Digunakan untuk menentukan prilaku latar belakang kontrol label (0 Transparent. Beberapa properti pada label : Properti Alignment Appearance AutoSize BackColor BackStyle BorderStyle Caption DragIcon DragMode Enabled Font ForeColor Height Index Left MouseIcon MousePointer Tag ToolTipText Top UseMnenomic Visible Width WordWrap Fungsi Digunakan untuk menentukan pemerataan tulisan pada kontrol label (0 Left Justify.Center) Digunakan untuk menentukan tampilan dari kontrol label di cat atau tidak (0 . Dengan memahami properti. maka BackColor menjadi tidak berarti. Pada bagian ini kita akan membahas beberapa kontrol standard beserta properti-properti. MouseUp.automatic) Menentukan apakah kontrol label dapat menerima event yang dibuat oleh pemakai.3D) Digunakan untuk menentukan apakah ukuran kontrol otomatis disesuaikan dengan ukuran tulisan (False. jika kontrol tersebut merupakan kontrol array.None.Right Justify. dll Digunakan untuk menentukan warna tulisan Digunakan untuk menentukan tinggi dari kontrol Digunakan untuk menentukan nomor index. Digunakan untuk menentukan icon yang digunakan pada operasi drag-ndrop pada kontrol label Menentukan modus drag-n-drop (0 . maupun Enterprised Edition. 2 . event dan metoda akan sangat membantu anda dalam memanfaatkan kontrol-kontrol tersebut secara efektif dan efisien. event-event dan metoda-metoda yang bekerja pada masingmasing kontrol. atau sebagai simbol & (False. Properti ini dapat digunakan sebagai tempat menyimpan data sementara yang berkaitan dengan kontrol label tersebut Digunakan untuk menentukan tip tulisan ketika mouse pointer berada diatas kontrol Digunakan untuk menentukan jarak atas kontrol dari kontainernya. 1 . Kontrol-kontrol standard ini akan sering anda gunakan untuk pembentukkan user interface pada setiap project yang anda buat. baik pada Learning Edition. Profesional Edition. MouseDown. kalau transparan. 1 . apakah (0.Bab III Kontrol Standard Kontrol standard terdapat pada semua versi Visual Basic.Flat. mungkin ini adalah properti yang paling sering anda gunakan. Digunakan untuk menentukan jarak kiri kontrol dari kontainernya. Digunakan untuk menentukan icon mouse yang digunakan ketika pointer mouse berada diatas kontrol label tersebut. 1 . style. demikian juga Appearance. Digunakan untuk menentukan jenis font. Jenis Kontrol Standar Label Digunakan untuk menampilkan text tanpa bisa diubah oleh pemakai pada saat runtime. dll. 22 . 1 .

2 . DblClick. apakah diatas atau dibawah kontrol lain. X (posisi kolom pointer). Y (posisi baris pointer) Adapun metoda yang efektif pada kontrol label adalah : Metoda Move Refresh Zorder Keterangan Metoda ini digunakan untuk memindahkan letak (koordinat Left.Tombol kanan). 3 .Alt). 0 tidak dibatasi. MouseUp. True) Sda Sda Sda Sda Sda Sda Digunakan untuk menentukan apakah selection disembunyikan ketika kontrol kehilangan fokus Sda Digunakan untuk menentukan jarak kiri kontrol dari kontainernya.Tombol kiri.Shift. Width) Metoda ini digunakan untuk mencetak ulang kontrol label. event ini terjadi dengan urutan (MouseDown. Digunakan untuk menentukan icon mouse yang digunakan ketika pointer mouse berada diatas kontrol label tersebut.Tombol kiri. Shift (1 . MouseMove parameter yang dapat digunakan adalah Button (1 . 2 .Tombol kanan). 2 . Metoda ini digunakan untuk menentukan order kontrol. Click) Event ini terjadi ketika pemakai melakukan double klik pada kontrol. Y (posisi baris pointer) Event ini terjadi ketika pemakai melepaskan penekanan tombol mouse MouseUp pada kontrol. properti ini berarti bila properti MousePointer diset menjadi (99 . 2 . True) Digunakan untuk menentukan jumlah huruf maksimal yang dapat diketikkan dalam textbox (0 s/d 65535). Digunakan untuk menentukan apakah text dalam kontrol textbox dapat di perbaharui oleh pemakai atau tidak (False.Shift.Tombol kiri. X (posisi kolom pointer). MouseDown.Ctrl. X (posisi kolom pointer). 3 .Alt). Top) dari kontrol label maupun ukurannya (ukuran Height. Click. 2 . parameter yang dapat digunakan adalah Button (1 .Tombol kanan). Digunakan untuk menentukan apakah tulisan dalam textbox dapat ditampilkan dalam bentuk beberapa baris.Ctrl. parameter yang dapat digunakan adalah Button (1 . (False. event ini terjadi dengan urutan (MouseDown. a) Properti Alignment Appearance BackColor BorderStyle CauseValidation DragIcon DragMode Enabled Font ForeColor Height HideSelection Index Left Locked MaxLength MouseIcon MousePointer Textbox Fungsi Sda Sda Sda Sda Digunakan untuk menentukan apakan event Validate di aktifkan ketika kontrol akan kehilangan fokus (False. Shift (1 . Y (posisi baris pointer) Event ini terjadi ketika pamakai mengerakan mouse pada kontrol.Alt). True) Digunakan untuk menampilkan text yang dapat diubah oleh pemakai pada saat runtime MultiLine 23 .Adapun event-event yang efektif pada kontrol label adalah : Event Change Click DblClick Keterangan Event ini terjadi ketika nilai properti Caption dari kontrol Event ini terjadi ketika pemakai melakukan klik pada kontrol. MouseUp) Event ini terjadi ketika pemakai melakukan penekanan tombol mouse pada MouseDown kontrol. dan mengenali Enter untuk memasuki baris baru. MouseUp. 3 .Shift.Custom) Digunakan untuk menentukan bentuk pointer yang digunakan ketika mouse pointer berada diatas kontrol label tersebut.Ctrl. 2 . Shift (1 .

Vertical. Change) Event ini terjadi ketika kontrol kehilangan fokus Sda Sda Sda Event ini terjadi ketika kontrol akan kehilangan fokus. parameter yang dapat digunakan adalah KeyAscii. Properti ini efektif jika setting properti TabStop adalah True Digunakan untuk menentukan apakah textbox dapat menerima fokus karena penekanan tombol TAB oleh pemakai (False. 1 Horizontal. KeyPress.Digunakan untuk menentukan karakter yang digunakan untuk PasswordChar menyandikan tampilan huruf yang diketik oleh pemakai.None. dimana huruf yang ditekan ditampilkan dalam bentuk * Digunakan untuk menentukan penampilan ScrollBar pada textbox. KeyUp.Both) Digunakan untuk menentukan urutan tabindex. 2 . KeyPress Contoh : Private Sub txtNama_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then SendKeys "{Tab}" End If KeyUp LostFocus MouseDown MouseMove MouseUp Validate Metoda Move Refresh Setfocus Zorder End Sub Event ini terjadi setelah event KeyPress ketika pemakai mengetik karakter pada kontrol dengan urutan (KeyDown. properti ScrollBars ini efektif jika setting properti MultiLine adalah True (0 . 0 adalah kontrol yang TabIndex TabStop Tag Text ToolTipText Top Width Event Change Click DblClick GotFocus KeyDown pertama mendapat fokus jika form dijalankan. properti ini efektif jika setting properti Style adalah (1. True) Sda Properti ini berisi tulisan yang berada dalam textbox Sda Sda Sda Keterangan Event ini terjadi ketika nilai properti Text dari kontrol mengalami perubahan Sda Sda Event ini terjadi ketika kontrol mendapatkan fokus Event ini terjadi ketika pemakai mengetik karakter pada kontrol Event ini terjadi setelah event KeyDown ketika pemakai mengetik karakter pada kontrol.Graphical) 24 . Anda dapat memanipulasi tombol yang diketik dengan melakukan perubahan pada nilai KeyAscii. Keterangan Sda Sda Metoda ini digunakan untuk menimdahkan fokus ke kontrol yang bersangkutan sda Adapun event-event yang efektif pada kontrol Textbox adalah : Adapun metoda yang efektif pada kontrol Textbox adalah : b) suatu form. untuk Properti Alignment Appearance BackColor Caption CauseValidatio n Option Digunakan untuk menampilkan beberapa pilihan yang hanya dapat dipilih salah satu dalam Fungsi Sda sda sda sda sda Digunakan untuk menentukan gambar yang ditampilkan ketika kontrol Option DisablePicture disable (properti Enabled = False). Biasanya digunakan untuk pengisian password. 3 .

Graphical) sda sda sda sda sda sda sda Digunakan untuk menentukan jarak kiri kontrol dari kontainernya.Digunakan untuk menentukan gambar yang ditampilkan ketika kontrol Option DownPicture DragIcon DragMode Enabled Font ForeColor Height Index Left MaskColor MouseIcon MousePointer Picture Style TabIndex TabStop Tag ToolTipText Top UseMaskColor Value Visible Width Event Click DblClick GotFocus KeyDown KeyPress KeyUp LostFocus MouseDown MouseMove MouseUp Validate Metoda Move Refresh Setfocus Zorder dipilih (properti Value = True). properti ini efektif jika picture yang masukkan adalah (*. hal ini dapat diatasi dengan pemakaian frame.tidak terpilih) Digunakan untuk menentukan apakah kontrol Visibel atau tidak. sda Adapun event-event yang efektif pada kontrol option adalah : Adapun metoda yang efektif pada kontrol Option adalah : c) Check Digunakan untuk menampilkan beberapa pilihan yang dapat dipilih lebih dari satu. pada kontrol option.terpilih.bmp). metoda ini akan membangkitkan event Click. Properti kontrol Check. maupun event dapat dilihat pada properti Option Frame Digunakan untuk mengelompokan sekelompok kontrol. properti ini efektif jika setting properti Style adalah (1 .Graphical) Digunakan untuk menentukan jenis style pada kontrol option (0 . pada suatu form. False . maupun ketika pemakai menekan space pada kontrol bersangkutan. 1 Graphical) sda sda sda sda sda Digunakan akan warna yang ditentukan pada MaskColor efektif atau tidak (False. True) Adalah nilai kontrol option button (True . sda sda sda sda sda sda sda sda sda sda Keterangan Sda sda sda. sehingga option dapat dipilih sesuai dengan konteks yang diwakili. Digunakan untuk warna pada bitmap yang akan dijadikan transparan. properti ini efektif jika setting properti Style adalah (1. dan setting properti UseMaskColor adalah True sda sda Digunakan untuk menentukan gambar yang digunakan. Pemakaian kontrol frame yang paling nyata adalah untuk mengelompokan sejumlah option. pada option event ini juga dibangkitkan ketika kontrol menerima fokus. Properti Appearance BackColor Fungsi sda sda 25 .Standard. hanya 1 option yang dapat dipilih setiap saat. sebagaimana kita ketahui. sda Keterangan sda.

sda sda sda sda sda sda sda Digunakan untuk menentukan jarak kiri kontrol dari kontainernya. jika properti ini True. Cancel Caption CauseValidation Default DragIcon DragMode Enabled Font ForeColor Height Index Left MaskColor MouseIcon MousePointer Picture Style perintah Cancel untuk form tersebut . maka semua kontrol yang berada diatasnya menjadi tidak kelihatan. sda sda sda sda sda sda Digunakan untuk menentukan apakah kontrol Visibel atau tidak. dan setting properti UseMaskColor adalah True sda sda sda sda 26 . sda Keterangan Sda sda sda sda sda Keterangan sda sda sda Adapun event-event yang efektif pada kontrol frame adalah : Adapun metoda yang efektif pada kontrol Frame adalah : d) Properti Alignment Appearance BackColor CommandButton Fungsi Sda sda sda Digunakan untuk menentukan apakah command button merupakan Digunakan untuk mendapatkan konfirmasi pemakai untuk pelaksanaan fungsi tertentu.bmp). jika Visible false. jika properti ini True. Digunakan untuk warna pada bitmap yang akan dijadikan transparan. properti ini efektif jika picture yang masukkan adalah (*. akan membangkitkan event Click untuk kontrol tersebut.BorderStyle Caption CauseValidation DragIcon DragMode Enabled Font ForeColor Height Index Left MouseIcon MousePointer TabIndex Tag ToolTipText Top Visible Width Event Click DblClick MouseDown MouseMove MouseUp Metoda Move Refresh Zorder sda sda sda sda sda sda sda sda sda sda Digunakan untuk menentukan jarak kiri kontrol dari kontainernya. akan membangkitkan event Click untuk kontrol tersebut. sda sda Digunakan untuk menentukan apakan command button merupakan Default command untuk form tersebut. maka ketika pemakai menekan Enter. maka ketika pemakai menekan ESC.

TabIndex TabStop Tag ToolTipText Top UseMaskColor Visible Width Event Click GotFocus KeyDown KeyPress KeyUp LostFocus MouseDown MouseMove MouseUp Metoda Move Refresh Setfocus Zorder sda sda sda sda sda sda Digunakan untuk menentukan apakah kontrol Visibel atau tidak. pada commandbutton. event ini juga dibangkitkan ketika pemakai menekan space pada kontrol tersebut. sda sda sda sda sda sda sda sda Keterangan sda sda Sda Sda Adapun event-event yang efektif pada kontrol commandbutton adalah : Adapun metoda yang efektif pada kontrol CommandButton adalah : 27 . sda Keterangan sda.

DragIcon DragMode Enabled Font ForeColor Height Index IntegralHeight Digunakan untuk menentukan icon yang digunakan pada operasi drag-ndrop pada kontrol label Menentukan modus drag-n-drop (0 . Digunakan untuk menentukan jenis font.Flat. Digunakan untuk menentukan jarak kiri kontrol dari kontainernya. properti ini berarti bila properti MousePointer diset menjadi (99 . 0 adalah kontrol yang TabIndex TabStop Tag ToolTipText Top Visible pertama mendapat fokus jika form dijalankan. 1 . jika kontrol tersebut merupakan kontrol array.ListBox Digunakan untuk menampilkan daftar pilihan yang dapat bergeser. 2 . Digunakan untuk menentukan apakah kontrol label tersebut Visible atau tidak (False. True) 28 . True) Adalah daftar ya ng dapat digunakan untuk menyimpan nilai numerik yang ItemData Left List berkaitan dengan item-item yang terdapat dalam listbox.3D) Digunakan untuk menentukan warna latar belakang. Properti Appearance BackColor CauseValidation Fungsi Digunakan untuk menentukan tampilan dari kontrol (0 . 1 . Digunakan untuk menentukan apakan event Validate di aktifkan ketika kontrol akan kehilangan fokus (False. Berkoresponden satu-satu. Digunakan untuk menentukan icon mouse yang digunakan ketika pointer MouseIcon MousePointer mouse berada diatas kontrol label tersebut. ukuran. style. True) Digunakan untuk menentukan bentuk tampilan item yang digunakan (0 Standard.automatic) Menentukan apakah kontrol label dapat menerima event yang dibuat oleh pemakai. dll. True) Properti ini dapat digunakan sebagai tempat menyimpan data sementara yang berkaitan dengan kontrol label tersebut Digunakan untuk menentukan tip tulisan ketika mouse pointer berada diatas kontrol Digunakan untuk menentukan jarak atas kontrol dari kontainernya. MouseDown. Merupakan properti yang berisi pilihan dalam Listbox.Checkbox) Digunakan untuk menentukan urutan tabindex.Extended) Perbedaan MultiSelect antara 1 . Sorted Style Digunakan untuk menentukan apakah item dalam listbox otomatis diurut berdasarkan aphabetik atau tidak (False.None. 1 .Simple. adalah pada Simple pemilihan beberapa item sekaligus tidak dapat menggunakan bantuan Shift. Digunakan untuk menentukan tinggi dari kontrol (Height) sedemikian rupa sehingga tidak ada item yang ditampilkan sebagian ( False. untuk mengetik itemnya anda harus menggunakan Ctrl-Enter untuk memasukki item yang berikutnya. True) Digunakan untuk menentukan apakah daftar pilihan dalam listbox ditampilkan 1 kolom vertikal kebawah (0).Custom) Digunakan untuk menentukan bentuk pointer yang digunakan ketika mouse pointer berada diatas kontrol label tersebut. Suatu listbox digunakan jika jumlah pilihan cukup banyak. Properti ini efektif jika setting properti TabStop adalah True Digunakan untuk menentukan apakah textbox dapat menerima fokus karena penekanan tombol TAB oleh pemakai (False. sehingga menjadi tidak efektif kalau menggunakan Option maupun Check.Extended. MouseUp.Simple dengan 2 . misalnya event Click. atau kebawah dan menyamping Column sesuai dengan jumlah kolom yang ditentukan jika daftar pilihan cukup panjang.manual. 1 . dll Digunakan untuk menentukan warna tulisan Digunakan untuk menentukan tinggi dari kontrol Digunakan untuk menentukan nomor index. Digunakan untuk menentukan apakah item dalam listbox dapat dipilih lebih dari satu atau tidak (0 .

1 If LstAngka. tekan Ctrl-Enter ketikkan Dua.Width Digunakan untuk menentukan lebar kontrol label Menentukan isi ListBox Untuk menentukan isi listbox anda dapat mengetikkannya pada waktu design dengan mengisinya di properti List.Selected(i) Then MsgBox LstAngka.. defaultnya adalah posisi terakhir. Tiga . dimana index adalah nomor index yang akan dihapus. Private Sub cmdPeriksa_Click() For i = 0 To LstAngka.AddItem("Tiga") LstAngka. sedangkan index adalah posisi dimana item akan disisip.Text End Sub Jika pada Listbox dengan Multiselect = True.AddItem("Lima") End Sub Mendapatkan jumlah item dalam Listbox Untuk mendapatkan jumlah item dalam Listbox anda dapat menggunakan properti ListCount..List(i) End If Next i 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. sehingga hal tersebut efektif diambil dengan menggunakan properti Text dari Listbox. dimana setting properti pada Listbox kiri Multiselect = False.ListCount . tekan Ctrl-Enter dst Cara lain adalah dengan menggunakan metoda AddItem(string. Lima. Contoh : Private Sub Form_Load() LstAngka. maka : • • • • klik pada properti List. Contoh berikut akan menampilkan kotak pesan yang berisi item-item yang terpilih. index) pada Event Load pada Form. maka item yang dapat dipilih oleh pemakai hanya satu. Contoh program yang menggunakan ListIndex dan RemoveItem 29 'Jika True artinya terpilih 'Tampilkan item tersebut dari List .AddItem("Dua") LstAngka. Dua. Private Sub LstAngka_Click() MsgBox LstAngka.. Contoh berikut akan menampilkan item yang diklik oleh pemakai. dimana kita perlu memeriksa item pada listbox satu persatu untuk memeriksa apakah item tersebut dalam keadaan terpilih (diperiksa dengan properti selected(index) atau tidak. Menggambil item yang dipilih oleh pemakai Pada Listbox jenis Multiselect = False. ketikkan Satu.AddItem("Empat") LstAngka. Misalnya daftar pilihan yang diinginkan adalah Satu. anda dapat menggunakan metoda RemoveItem(index).AddItem("Satu") LstAngka. Contoh : Untuk memindahkan item yang terpilih pada ListBox kiri ke listbox kanan. maka pekerjaan menjadi sedikit lebih rumit. dimana string adalah item yang ingin ditambahkan ke ListBox.

DblClick.Alt). dan jika tidak ada yang terpilih nilainya -1. MouseUp. dimana hasil pilihan pemakai ditempilkan dalam suatu textbox. event ini terjadi dengan urutan (MouseDown. MouseUp) Event ini terjadi ketika kontrol mendapatkan fokus Event ini terjadi ketika pemakai melakukan klik untuk menandai checkbox pada item Listbox.Tombol kiri.Tombol kanan). tetapi hal ini sangat bergantung pada Style yang digunakan. Change) Event ini terjadi ketika kontrol kehilangan fokus Event ini terjadi ketika pemakai melakukan penekanan tombol mouse pada kontrol. 2 .Alt).AddItem (LstAngka.Tombol kiri. Y (posisi baris pointer) Event ini terjadi ketika Listbox mengalami scroll.Private Sub cmdPindah_Click() If LstAngka. 2 Tombol kanan). Click) Event ini terjadi ketika pemakai melakukan double klik pada kontrol. Click. maka ComboBox lebih menghemat pemakaian tempat pada form. Event ini terjadi ketika kontrol akan kehilangan fokus. properti ListIndex menunjukkan nomor index (mulai dari 0) item yang sedang terpilih. Properti BackColor CauseValidation DragIcon DragMode Enabled Font ForeColor Height Fungsi Sda Sda Sda Sda Sda Sda Sda Sda 30 . X (posisi kolom pointer).Alt).ListIndex)) LstAngka.Ctrl.ListIndex) End If End Sub Pada Listbox yang MultiSelect = False. Event ini terjadi setelah event KeyPress ketika pemakai mengetik karakter pada kontrol dengan urutan (KeyDown. X (posisi kolom pointer). KeyUp.RemoveItem (LstAngka. Adapun event-event yang efektif pada Listbox adalah sebagai berikut : Event Click DblClick GotFocus ItemCheck KeyDown KeyPress Keterangan Event ini terjadi ketika pemakai melakukan klik pada kontrol. MouseDown.Shift. Shift (1 . Y (posisi baris pointer) Event ini terjadi ketika pamakai mengerakan mouse pada kontrol. Anda dapat memanipulasi tombol yang diketik dengan melakukan perubahan pada nilai KeyAscii.Shift. 2 .Ctrl.ListIndex > -1 Then LstPindah. MouseUp. KeyPress. dimana pilihan-pilihan dapat di drop-down dalam bentuk listbox. e) Combo Box Jika dibandingkan dengan Listbox.Tombol kiri. tetapi pada Combobox hal tersebut tidak dapat dilakukan.Ctrl. X (posisi kolom pointer). Jika pada Listbox dimungkinkan pemakai melakukan MultiSelect. Pada Combobox pemakai juga dapat mengetik langsung pilihannya.Tombol kanan). KeyUp LostFocus MouseDown MouseMove parameter yang dapat digunakan adalah Button (1 . 2 . parameter yang dapat digunakan adalah Button (1 . Event ini efektif pada ListBox yang Style = Checkbox Event ini terjadi ketika pemakai mengetik karakter pada kontrol Event ini terjadi setelah event KeyDown ketika pemakai mengetik karakter pada kontrol. 3 .List(LstAngka. parameter yang dapat digunakan adalah Button (1 . Shift (1 . parameter yang dapat digunakan adalah KeyAscii. Y (posisi baris pointer) Event ini terjadi ketika pemakai melepaskan penekanan tombol mouse MouseUp Scroll Validate pada kontrol. 3 . event ini terjadi dengan urutan (MouseDown. 2 . 3 . Shift (1 .Shift. anda dapat menggunakan Metoda Clear. Mengosongkan isi seluruh Listbox Untuk mengosongkan isi seluruh Listbox. 2 .

enhanced metafiles (EMF). tulisan hanya dapat dipilih dari daftar.manual. device independent bitmaps (DIB). pada Dropdown Combo. misalnya event Click. 2 . 1 .automatic) Menentukan apakah kontrol dapat menerima event yang dibuat oleh pemakai.Simple Combo. pada Dropdown List. GIF dan JPEG compressed files. metafiles (WMF). Properti Fungsi Digunakan untuk menentukan jenis border yang digunakan (0 .None. Digunakan untuk menentukan tinggi dari kontrol 31 . 1 . dll. MouseDown. TabIndex TabStop Tag Text ToolTipText Top Visible Width Sda Sda Sda Sda Sda Sda Sda Sda Untuk pengolahan ComboBox tidak jauh berbeda dengan Listbox. Adapun event-event yang efektif pada ComboBox adalah sebagai berikut Event Click DblClick GotFocus KeyDown KeyPress KeyUp LostFocus MouseDown MouseMove MouseUp Validate Keterangan Sda Sda Sda Sda Sda Sda Sda Sda Sda Sda Sda f) Image Digunakan untuk menampilkan gambar dalam format bitmaps (BMP). pemakai diperbolehkan mengetik tulisan yang tidak ada di list. MouseUp.Index IntegralHeight ItemData Left Locked MouseIcon MousePointer Sorted Sda Sda Sda Sda Sda Sda Sda Sda Digunakan untuk menentukan bentuk tampilan combo yang digunakan (0 Dropdown Combo. dan icons (ICO dan CUR). Style pada Simple Combo.Dropdown List). pemakai boleh mengetik atau memilih dengan tombol keatas atau kebawah dan daftar tidak bisa terbuka. 1 Fixed Single) BorderStyle DragIcon DragMode Enabled Height Digunakan untuk menentukan icon yang digunakan pada operasi drag-ndrop pada kontrol label Menentukan modus drag-n-drop (0 . untuk itu perhatikan kembali contoh-contoh pengolahan Listbox diatas dengan sedikit perbedaan karakteristik antara Listbox dan ComboBox.

gif") Catatan : Fungsi LoadPicture(namafile) digunakan untuk memuat file grafik dengan format grafik bitmap (. argumen format Optional.GetData Catatan : Metoda GetData Mengembalikan suatu grafik dari objek Clipboard.Index Left MouseIcon MousePointer Digunakan untuk menentukan nomor index.wmf) Device-independent bitmap (DIB) Color palette Mengosongkan kontrol image Untuk mengosongkan kontrol image pada saat runtime. Digunakan untuk menentukan apakah gambar disesuaikan dengan ukuran kontrol (gambar dapat menggalami pengecilan maupun pembesaran) Stretch Picture Tag ToolTipText Top Visible Width Digunakan untuk menentukan gambar dalam image.Custom) Digunakan untuk menentukan bentuk pointer yang digunakan ketika mouse pointer berada diatas kontrol label tersebut. metafile (. sedangkan pada runtime anda dapat menggunakan fungsi LoadPicture(namafile) untuk memuat gambar ke properti Picture dari kontrol image. JPEG (. enhanced metafiles (.bmp). Jika format 0 (nol) atau diabaikan. format adalah suatu konstanta optional yang menentukan format grafik. GetData otomatis menggunakan format yang sesuai.rle). jika kontrol tersebut merupakan kontrol array. contoh : MyImage.Picture = Clipboard. True) 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. atau mengambil gambar dalam image. 32 . tanpa menggunakan argumen nama file.jpg). properti ini berarti bila properti MousePointer diset menjadi (99 . Suatu konstanta atau nilai yang menunjukkan format grafik pada clipboard. run-length encoded (. icon (.emf).ico). GetData secara otomatis. Adapun nilai konstanta untuk argumen format Optional adalah sebagai berikut : Konstanta vbCFBitmap vbCFMetafile vbCFDIB vbCFPalette Nilai 2 3 8 9 Keterangan Bitmap (. Digunakan untuk menentukan jarak kiri kontrol dari kontainernya. anda dapat menggunakan fungsi LoadPicture. GIF. Properti ini dapat digunakan sebagai tempat menyimpan data sementara yang berkaitan dengan kontrol picture tersebut Digunakan untuk menentukan tip tulisan ketika mouse pointer berada diatas kontrol Digunakan untuk menentukan jarak atas kontrol dari kontainernya.Picture = LoadPicture("C:\Grafik\Indoprog. Jika format adalah 0 (nol) atau diabaikan. Mengambil gambar dari Clipboard ke kontrol image Anda dapat menggunakan metoda GetData(option) dari object Clipboard untuk mengambil isi Clipboard ke suatu kontrol image.wmf). Digunakan untuk menentukan apakah kontrol label tersebut Visible atau tidak (False. Digunakan untuk menentukan icon mouse yang digunakan ketika pointer mouse berada diatas kontrol label tersebut.bmp) Metafile (. contoh : MyImage.

ScaleLeft = 0 MyPicture.Picture = LoadPicture Catatan :Anda dapat juga menggunakan fungsi LoadPicture tanpa argumen untuk memeriksa apakah kontrol image dalam keadaan kosong atau tidak.Picture.ScaleWidth = 360 MyPicture. Selain menampilkan gambar picture box mendukung berbagai metoda untuk operasi grafik.ScaleHeight = 2 MyPicture.bmp). -Cos(i * 3. 0)-(360.14 / 180)) MyPicture. dan Pset pada PictureBox Private Sub cmdGrafik_Click() MyPicture. contoh : SavePicture MyImage.bmp" Catatan : Perintah SavePicture akan selalu menyimpan gambar ke format bitmap (. dan dapat berfungsi sebagai kontainer bagi kontrol-kontrol lain. namafile untuk menyimpan gambar kedalam file dengan format BMP.PSet (i. "C:\Grafik\Indoprog.14 / 180)) Next i End Sub Berikut ini adalah picturebox sebagai kontainer.ScaleMode = 0 MyPicture. Properti Fungsi 33 .Line (0.contoh : MyImage. tanpa memperhatikan format sumber gambar. Contoh : Dihasilkan oleh pemakaian metoda Line. PictureBox Kalau image digunakan untuk menampilkan gambar.PSet (i.Picture = LoadPicture Then MsgBox "Gambar harus diisi" Endif Menyimpan gambar dalam kontrol image ke file Anda dapat menggunakan perintah SavePicture gambar.ScaleTop = -1 MyPicture. demikian juga picturebox. 0) For i = 0 To 360 MyPicture. If MyImage. -Sin(i * 3.

sda Digunakan untuk menentukan apakan event Validate di aktifkan ketika kontrol akan kehilangan fokus (False. Circle. 0) 'Garis hitam FontTransparant 34 . 1 .None. Private Sub MyCommand_Click() MyPicture. -Sin(i * 3. PSet) akan dijadikan sebagai bitmap yang tetap.PSet (i. 0)-(360. misalnya event Click.PSet (i. Menentukan ukuran garis pengambaran Menentukan apakah kontrol label dapat menerima event yang dibuat oleh pemakai.Print "Transparent" 'Set ForeColor jadi hitam MyPicture. MouseDown. 2 .ScaleLeft = 0 MyPicture. True) Digunakan untuk menentukan icon yang digunakan pada operasi drag-ndrop pada kontrol label Digunakan untuk menentukan icon yang digunakan pada operasi drag-ndrop pada kontrol label Menentukan modus drag-n-drop (0 .ForeColor = vbBlack For i = 0 To 360 MyPicture. Digunakan untuk menentukan apakah ukuran kontrol otomatis disesuaikan dengan ukuran objek picture.automatic) Menentukan jenis modus yang digunakan pada saat pengambaran grafik dalam picture dimana merupakan interaksi antara warna latar belakang dengan warna garis sehingga menghasilkan warna baru.manual.ForeColor = vbRed MyPicture.Align Right) sda Digunakan untuk menentukan warna latar belakang. ukuran.Align Bottom. -Cos(i * 3. Menentukan warna pengisian grafik Menentukan pola pengisian grafik Font Digunakan untuk menentukan jenis font. style. Digunakan untuk menentukan apakah grafik yang dihasilkan dengan metoda pengambaran (Line.FontTransparent = True MyPicture. dll Digunakan untuk menentukan warna tulisan Contoh : Private Sub cmdGrafik_Click() ForeColor MyPicture.ScaleHeight = 2 MyPicture. 1 . MouseUp.Line (0. Menentukan style garis yang digunakan dalam mengambar garis.Align Appearance BackColor AutoRedraw AutoSize BorderStyle CauseValidation ClipControl DragIcon DragMode DrawMode DrawStyle DrawWidth Enabled FillColor FillStyle Digunakan untuk menentukan bagaimana pemerataan objek pada form (0 .ScaleTop = -1 MyPicture.ForeColor = vbBlue MyPicture. 3 .Align Left. dll.14 / 180)) 'Titik Biru Next i End Sub Digunakan untuk menentukan apakah latar belakang tulisan transparant atau tidak.ScaleMode = 0 MyPicture.14 / 180)) 'Titik Merah MyPicture.ScaleWidth = 360 MyPicture.Align Top. 4 .

Properti ini dapat digunakan sebagai tempat menyimpan data sementara yang berkaitan dengan kontrol picture tersebut Digunakan untuk menentukan tip tulisan ketika mouse pointer berada diatas kontrol Digunakan untuk menentukan jarak atas kontrol dari kontainernya.MyPicture.awal. 240 untuk tinggi) 1 cm = 1000 unit (Himetric) Anda dapat membuat modus skala sendiri dengan menset properti ini menjadi 0 . Digunakan untuk menentukan jarak kiri kontrol dari kontainernya.warna Line (x1.Aspek Cls Line (x1. 1 Twip. serta aspek perbandingkan tinggi dengan lebar. jika kontrol tersebut merupakan kontrol array.y1) . 4 . Membersihkan Picturebox dengan warna BackColor Mengambarkan garis tunggal dari koordinat x1. Menentukan panjang sumbu X.Custom) Digunakan untuk menentukan bentuk pointer yang digunakan ketika mouse pointer berada diatas kontrol label tersebut. sampai sudut akhir yang dinyatakan dalam radian). digunakan untuk perintah Print Digunakan untuk mendapatkan/menentukan posisi Y yang sedang aktif. 3 . 5 . Digunakan untuk menentukan nilai koodinat horizontal paling kiri. properti ini berarti bila properti MousePointer diset menjadi (99 . Digunakan untuk menentukan nilai koodinat vertikal paling atas. 6 . 7 Centimeter) 1 inchi = 1440 Twip 1 cm = 567 Twip ScaleMode 1 inchi = 72 point 1 character = (120 Twip untuk lebar.Point. mulai dari sudut . 2 .y2 Circle(x.y dan jari-jari r dengan warna garis. Digunakan untuk menentukan apakah kontrol label tersebut Visible atau tidak (False.r. Metoda Grafik pada Picturebox Salah satu perbedaan antara Image dengan Picturebox adalah tersedianya berbagai metoda pengambaran grafik pada Picturebox.User.y2 Mengambarkan kotak dari koordinat x1. Digunakan untuk menentukan tinggi sumbu vertikal. Digunakan untuk menentukan panjang sumbu horizontal.Pixel. Digunakan untuk menentukan icon mouse yang digunakan ketika pointer mouse berada diatas kontrol label tersebut. anda ScaleLeft dapat menggunakan properti ini untuk menentukan koordinat paling kiri dari suatu sumbu X.Character.y). digunakan untuk perintah Print Pengolahan gambar dalam Picturebox dapat dicontoh dari contoh pada Image diatas. y2).warna. Menentukan panjang sumbu Y. Digunakan untuk menentukan gambar dalam picture box.y1) .akhir koordinat x. perhatikan kembali contoh Grafik sinus sebelumnya.FontTransparent = False MyPicture. Digunakan untuk menentukan unit skala yang digunakan (0 .Inch. antara lain : Metoda Keterangan Mengambarkan sebuah lingkaran dengan berpusat pada awal. dan skala anda dapat ditentukan pada ScaleWidth dan ScaleHeight.(x2.Print "Tidak Transparent" Height Index Left MouseIcon MousePointer Picture End Sub Digunakan untuk menentukan tinggi dari kontrol Digunakan untuk menentukan nomor index.(x2. 35 .y1 sampai dengan x2.User.Milimeter. anda ScaleTop ScaleHeight ScaleWidth Tag ToolTipText Top Visible Width Properti CurrentX CurrentY dapat menggunakan properti ini untuk menentukan koordinat paling atas dari suatu sumbu Y. True) Digunakan untuk menentukan lebar picturebox Fungsi Digunakan untuk mendapatkan/menentukan posisi X yang sedang aktif.y1 sampai dengan x2.

y1) . dengan melakukan pengeseran ataupun penekanan tombol (kiri. Tujuan.y) Refresh Mengambarkan kotak berisi dari koordinat x1.warna. MyPicture. pengecilan.Image. baik yang di muat dari suatu file gambar. Tujuan.bmp" HScrollBar dan VScrollBar Horizontal ScrollBar dan Vertical ScrollBar digunakan untuk memungkinkan pemakai melakukan pemasukkan data secara analog. "C:\Grafik. Picturebox. True) 36 .BF PSet (x.Height. Properti CauseValidation Fungsi Digunakan untuk menentukan apakan event Validate di aktifkan ketika kontrol akan kehilangan fokus (False.B Line (x1. Contoh : SavePicture MyPicture. dan Printer.Point(100.y2). Mendapatkan warna dot (titik) tertentu pada layar Contoh : Color& = MyPicture.y2 Mencetak dot (titik) pada koordinat tertentu pada Form. Metoda PaintPicture Pada PictureBox Metoda PaintPicture merupakan metoda yang sangat bermanfaat untuk melakukan operasi seperti pembesaran. posisiXtujuan. y2). [lebarAsal]. kanan. Anda dapat menggunakan properti image.y) PSet Step (x. Anda dapat membayangkan Scrollbar sebagai pengatur Volume pada Radio.(x2. 0.Width.warna. 0.200) Menyebabkan kontrol picture dan bitmap tetapnya digambar ulang.y1 sampai dengan x2. [koordinatXAsal]. Anda dapat menggunakan event ini untuk menjalankan fungsi-fungsi tertentu ketika PictureBox digambar.Width. Adapun sintax penulisannya adalah sebagai berikut : PictureboxTujuan. atas. _ [tinggiTujuan]. pada koordinat yang ditentukan Mencetak dot (titik) pada koordinat relatif terhadap posisi dot sebelunnya. _ 0.Height End Sub Menyimpan Grafik dalam Picturebox ke file Untuk meyimpan ataupun mengambil grafik yang terdapat dalam suatu picturebox. maupun yang dibuat dengan menggunakan metoda pengambaran. bawah).y) Point(x. posisiYtujuan.PaintPicture PictureboxAsal. [tinggiAsal] Private Sub cmdCopy_Click() Tujuan. [KoordinatYAsal]. Event Paint Pada PictureBox Event Paint akan diaktifkan ketika PictureBox mengalami pengambaran. duplikasi sebagian gambar berdasarkan koordinat tertentu. MyPicture. [lebarTujuan]. _ 0.PaintPicture MyPicture.Image.

dll.Top = -VScroll. Properti ini efektif jika setting properti TabStop adalah True Digunakan untuk menentukan apakah textbox dapat menerima fokus karena penekanan tombol TAB oleh pemakai (False.Custom) Digunakan untuk menentukan bentuk pointer yang digunakan ketika mouse pointer berada diatas kontrol label tersebut. Digunakan untuk menentukan jarak kiri kontrol dari kontainernya. Max Digunakan untuk menentukan nilai Minimal dari kontrol ScrollBar. jika kontrol tersebut merupakan kontrol array. atau ketika pemakai melakukan penekanan tombol PgUp dan PgDn pada saat aktif di ScrollBar. properti ini berarti bila properti MousePointer diset menjadi (99 . Menentukan apakah kontrol label dapat menerima event yang dibuat oleh pemakai. 1 . misalnya event Click. Contoh : Private Sub VScroll_Change() ImgGambar. Digunakan untuk menentukan besar perubahan Value ketika pemakai melakukan klik pada tanda Arah.Value 'Berlawanan arah 37 . Event Pada ScrollBar Pada ScrollBar ada dua event yang perlu diperhatikan. Digunakan untuk mendapatkan / menentukan nilai dari ScrollBar Digunakan untuk menentukan apakah kontrol label tersebut Visible atau tidak (False. MouseUp. kecuali kalau pemakai telah melepaskan tombol kiri Mouse. True) Digunakan untuk menentukan lebar kontrol. ketika Bar rapat ke kiri atau ketika pemakai melakukan penekanan tombol Home pada saat aktif di ScrollBar. Min Digunakan untuk menentukan icon mouse yang digunakan ketika pointer MouseIcon MousePointer SmallChange mouse berada diatas kontrol label tersebut. atau ketika pemakai melakukan penekanan tombol panah kiri dan kanan pada saat aktif di ScrollBar.DragMode DragIcon Enabled Height Index LargeChange Left Menentukan modus drag-n-drop (0 . yaitu Event Change dan Event Scroll. Digunakan untuk menentukan besar perubahan Value ketika pemakai melakukan klik di antara tanda Arah dan Bar. 0 adalah kontrol yang TabIndex TabStop Tag Top Value Visible Width pertama mendapat fokus jika form dijalankan.manual.automatic) Digunakan untuk menentukan icon yang digunakan pada operasi drag-ndrop pada kontrol. MouseDown. True) Properti ini dapat digunakan sebagai tempat menyimpan data sementara yang berkaitan dengan kontrol label tersebut Digunakan untuk menentukan jarak atas kontrol dari kontainernya. ketika Bar rapat ke kanan atau ketika pemakai melakukan penekanan tombol End pada saat aktif di ScrollBar. dimana : Event Change Akan dibangkitkan ketika terjadi perubahan Value pada ScrollBar. Digunakan untuk menentukan nilai Maksimal dari kontrol ScrollBar. Digunakan untuk menentukan urutan tabindex. tetapi event ini tidak dibangkitkan ketika pemakai masih melakukan pengeseran terhadap Bar. Digunakan untuk menentukan tinggi dari kontrol Digunakan untuk menentukan nomor index.

2 . jadi Event Scroll akan terjadi ketika pemakai melakukan pergeseran dengan menekan tombol kiri mouse.End Sub Private Sub HScroll_Change() ImgGambar.Value End Sub Event Scroll Akan dibangkitkan ketika pemakai melakukan pergeseran terhadap Bar dengan menggunakan drag pada tombol kiri mouse.Transparent.Dot. 4 .Transparent.Solid.Transparent) BorderColor Menentukan jenis garis border yang digunakan.Opaque) BackColor 'Berlawanan arah BackStyle Menentukan jenis latarbelakang dari suatu Shape.Dash Dot Dot. 1 . FillColor 38 . Properti ini efektif jika setting Backstyle dari Shape adalah (1 . (0 . 1 . Properti ini efektif jika setting BorderStyle bukan (0 .Left = -HScroll.Dash Dot. defaultnya adalah (13 Copy pen) DrawMode Menentukan warna yang digunakan untuk menggambarkan pola isinya yang ditentukan pada properti FillStyle. apakah (0 . 3 . dan diakhiri dengan Event Change ketika pemakai melepas penekenan tombol mouse.Opaque) Menentukan warna bingkai dari suatu Shape. BorderWidth Menentukan jenis Drawmode yang digunakan.Dash. dst) BorderStyle Menentukan ukuran ketebalan garis border. Line dan Shape Properti Fungsi Menentukan warna latarbelakang dari suatu Shape. Jadi anda harus memanfaatkan kedua event tersebut untuk mendapatkan hasil yang baik dari pemakaian ScrollBar. 5 .

FillStyle Height Index Left Shape Tag Top Visible Width

Menentukan jenis arsiran yang digunakan untuk isian kontrol Shape. Lihat gambar pada properti FillColor. Digunakan untuk menentukan tinggi dari kontrol Digunakan untuk menentukan nomor index, jika kontrol tersebut merupakan kontrol array. Digunakan untuk menentukan jarak kiri kontrol dari kontainernya. Digunakan untuk menentukan bentuk Shape (0 - Rectangle, 1 - Square, 2 Oval, 3 - Circle, 4 - Rounded Rectangle, 5 - Rounded Square) Properti ini dapat digunakan sebagai tempat menyimpan data sementara yang berkaitan dengan kontrol label tersebut Digunakan untuk menentukan jarak atas kontrol dari kontainernya. Digunakan untuk menentukan apakah kontrol label tersebut Visible atau tidak (False, True) Digunakan untuk menentukan lebar kontrol.

Timer
Properti Enabled Index Interval Tag Fungsi Menentukan apakah kontrol dapat efektif terhadap Event Timer. Digunakan untuk menentukan nomor index, jika kontrol tersebut merupakan kontrol array. Menentukan nilai interval dalam mili detik (1/1000) antar pemanggilan Event Timer. 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 DriveListBox DriveListBox dapat digunakan untuk menampilkan drive yang terdapat pada sistem komputer

Properti BackColor CauseValidation DragMode DragIcon Enabled Font ForeColor Height

Fungsi Digunakan untuk menentukan warna latarbelakang kontrol Digunakan untuk menentukan apakan event Validate di aktifkan ketika kontrol akan kehilangan fokus (False, True) Menentukan modus drag-n-drop (0 - manual, 1 - automatic) Digunakan untuk menentukan icon yang digunakan pada operasi drag-n-drop pada kontrol label Menentukan apakah kontrol label dapat menerima event yang dibuat oleh pemakai, misalnya event Click, MouseDown, MouseUp, dll. Digunakan untuk menentukan Font, Size, dan Style huruf yang digunakan pada kontrol DriveListBox Digunakan untuk menentukan warna tulisan yang digunakan pada kontrol DriveListBox Digunakan untuk menentukan tinggi dari kontrol 39

Index Left MouseIcon MousePointer TabIndex TabStop Tag Top Value Visible Width

Digunakan untuk menentukan nomor index, jika kontrol tersebut merupakan kontrol array. Digunakan untuk menentukan jarak kiri kontrol dari kontainernya. 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) Digunakan untuk menentukan bentuk pointer yang digunakan ketika mouse pointer berada diatas kontrol label tersebut. Digunakan untuk menentukan urutan tabindex, 0 adalah kontrol yang pertama mendapat fokus jika form dijalankan. Properti ini efektif jika setting properti TabStop adalah True Digunakan untuk menentukan apakah textbox dapat menerima fokus karena penekanan tombol TAB oleh pemakai (False, True) Properti ini dapat digunakan sebagai tempat menyimpan data sementara yang berkaitan dengan kontrol label tersebut Digunakan untuk menentukan jarak atas kontrol dari kontainernya. Digunakan untuk mendapatkan / menentukan nilai dari ScrollBar Digunakan untuk menentukan apakah kontrol label tersebut Visible atau tidak (False, True) Digunakan untuk menentukan lebar kontrol.

Mendapatkan Drive yang aktif di DriveListBox Untuk mendapatkan drive yang aktif di DriveListBox, anda dapat menggunakan properti Drive. DirListBox DirListBox dapat digunakan untuk menampilkan folder-folder yang terdapat didrive yang aktif.

Properti Appearance BackColor CauseValidation DragMode DragIcon Enabled Font ForeColor Height Index Left MouseIcon

Fungsi Digunakan untuk menentukan penampilan dari kontrol (0 - Flat, 1 - 3D) Digunakan untuk menentukan warna latarbelakang kontrol Digunakan untuk menentukan apakan event Validate di aktifkan ketika kontrol akan kehilangan fokus (False, True) Menentukan modus drag-n-drop (0 - manual, 1 - automatic) Digunakan untuk menentukan icon yang digunakan pada operasi drag-ndrop pada kontrol label Menentukan apakah kontrol label dapat menerima event yang dibuat oleh pemakai, misalnya event Click, MouseDown, MouseUp, dll. Digunakan untuk menentukan Font, Size, dan Style huruf yang digunakan pada kontrol. Digunakan untuk menentukan warna tulisan yang digunakan pada kontrol. Digunakan untuk menentukan tinggi dari kontrol Digunakan untuk menentukan nomor index, jika kontrol tersebut merupakan kontrol array. Digunakan untuk menentukan jarak kiri kontrol dari kontainernya. Digunakan untuk menentukan icon mouse yang digunakan ketika pointer mouse berada diatas kontrol label tersebut, properti ini berarti bila properti

40

MousePointer TabIndex TabStop Tag Top Value Visible Width

MousePointer diset menjadi (99 - Custom) Digunakan untuk menentukan bentuk pointer yang digunakan ketika mouse pointer berada diatas kontrol label tersebut. Digunakan untuk menentukan urutan tabindex, 0 adalah kontrol yang pertama mendapat fokus jika form dijalankan. Properti ini efektif jika setting properti TabStop adalah True Digunakan untuk menentukan apakah textbox dapat menerima fokus karena penekanan tombol TAB oleh pemakai (False, True) Properti ini dapat digunakan sebagai tempat menyimpan data sementara yang berkaitan dengan kontrol label tersebut Digunakan untuk menentukan jarak atas kontrol dari kontainernya. Digunakan untuk mendapatkan / menentukan nilai dari ScrollBar Digunakan untuk menentukan apakah kontrol label tersebut Visible atau tidak (False, True) Digunakan untuk menentukan lebar kontrol.

Mendapatkan Path yang aktif pada DirListBox Untuk mendapatkan Path yang sedang aktif pada DirListBox, anda dapat menggunakan properti Path. FileListBox DirListBox dapat digunakan untuk menampilkan file-file yang terdapat pada folder yang sedang aktif.

Properti Appearance Archive BackColor CauseValidation DragMode DragIcon Enabled Font ForeColor Hidden Height Index Left Normal MouseIcon

Fungsi Digunakan untuk menentukan penampilan dari kontrol (0 - Flat, 1 - 3D) Digunakan untuk menentukan apakah FileListBox dapat menampilkan file dengan atribut Archive atau tidak. Digunakan untuk menentukan warna latarbelakang kontrol Digunakan untuk menentukan apakan event Validate di aktifkan ketika kontrol akan kehilangan fokus (False, True) Menentukan modus drag-n-drop (0 - manual, 1 - automatic) Digunakan untuk menentukan icon yang digunakan pada operasi drag-ndrop pada kontrol label Menentukan apakah kontrol label dapat menerima event yang dibuat oleh pemakai, misalnya event Click, MouseDown, MouseUp, dll. Digunakan untuk menentukan Font, Size, dan Style huruf yang digunakan pada kontroi. Digunakan untuk menentukan warna tulisan yang digunakan pada kontrol. Digunakan untuk menentukan apakah FileListBox dapat menampilkan file dengan atribut Hidden atau tidak. Digunakan untuk menentukan tinggi dari kontrol Digunakan untuk menentukan nomor index, jika kontrol tersebut merupakan kontrol array. Digunakan untuk menentukan jarak kiri kontrol dari kontainernya. Digunakan untuk menentukan apakah FileListBox dapat menampilkan file dengan atribut Normal atau tidak. Digunakan untuk menentukan icon mouse yang digunakan ketika pointer

41

Extended) Perbedaan antara 1 . True) Properti ini dapat digunakan sebagai tempat menyimpan data sementara yang berkaitan dengan kontrol label tersebut Digunakan untuk menentukan jarak atas kontrol dari kontainernya.Custom) Digunakan untuk menentukan bentuk pointer yang digunakan ketika mouse pointer berada diatas kontrol label tersebut. DirListBox. *. Digunakan untuk menentukan urutan tabindex. True) Digunakan untuk menentukan lebar kontrol. Maka Koding yang dapat dilakukan adalah sebagai berikut : Private Sub MyDrive_Change() 42 . dan FileListBox.jpg. maka kita dapat menggunakan (*. 0 adalah kontrol yang pertama mendapat fokus jika form dijalankan.Simple dengan 2 . dan FileListBox Misalnya kita memiliki tiga buah kontrol yaitu DriveListBox. properti ini berarti bila properti MousePointer MousePointer diset menjadi (99 .bmp.*.Extended.mouse berada diatas kontrol label tersebut.wmf. Normal.*.bmp). Contoh : MyFile. misalnya kalau file yang ingin ditampilkan hanya berupa file bitmap.bmp. Properti ini efektif jika setting properti TabStop adalah True Digunakan untuk menentukan apakah textbox dapat menerima fokus karena penekanan tombol TAB oleh pemakai (False. adalah pada Simple pemilihan beberapa item sekaligus tidak dapat menggunakan bantuan Shift. Digunakan untuk mendapatkan / menentukan nilai dari ScrollBar Digunakan untuk menentukan apakah kontrol label tersebut Visible atau tidak (False.*. anda dapat menggunakan properti Pattern. Digunakan untuk menentukan apakah item dalam listbox dapat dipilih lebih dari satu atau tidak (0 . kalau file yang ingin ditampilkan berupa file grafik kita dapat menggunakan (*. dan FileListBox dimana perubahan pada DriveListBox akan menyebabkan preubahan tampilan pada DirListBox.None. ?A*.ico) Untuk membatasi file berdasarkan attributnya. dengan menentukan masing-masing menjadi True atau False. Digunakan untuk menentukan pola wildcard yang digunakan untuk Pattern ReadOnly System TabIndex TabStop Tag Top Value Visible Width membatasi file yang akan ditampilkan dalam kontrol (*. DirListBox. 2 . ReadOnly dan System.jpg) Digunakan untuk menentukan apakah FileListBox dapat menampilkan file dengan atribut ReadOnly atau tidak.*. Hidden.System = False Menghubungkan DriveListBox. 1 .gif.Simple. anda dapat menggunakan properti Archive. Digunakan untuk menentukan apakah FileListBox dapat menampilkan file dengan atribut System atau tidak. MultiSelect Membatasi file pada FileListBox Untuk membatasi file berdasarkan nama file.* semua file.

MyDir.Path = MyDrive.Path = MyDir.Path End Sub 43 .Drive End Sub Private Sub MyDir_Change() MyFile.

jika kondisi False (zero). deklarasikan dia dengan keyword Public sebelum kata Const. Dalam hal ini anda dapat membuat code anda menjadi lebih mudah dibaca-lebih mudah ditangani-dengan menggunakan suatu konstanta. yang dijalankan selama kondisi benar : Do While condition statements Loop Ketika Visual menjalankan Do loop ini. • ymbolic atau User-defined konstanta adalah dideklarasikan dengan menggunakan statement Const. Struktur Perulangan Struktur loop memperbolehkan anda untuk melaksanakan sekelompok baris lebih dari satu kali : Do. Ada dua sumber dari suatu konstanta : • Intrinsic atau System-defined konstanta yang disediakan oleh suatu aplikasi atau control. pertama kali akan di coba kondisinya. 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 44 . deklarasikan dia pada bagian deklarasi di module tersebut Membuat suatu konstanta berlaku pada semua aplikasi.. akan diloncati semua statements yang mengikuti kondisi tersebut.. Membuat Konstanta Anda Sendiri Syntax untuk deklarasi konstanta adalah : [Public|Private] Const constantname [As type] = expression Contoh : Const Pi = 3.Bab IV Fungsi Bantu pada Visual Basic dan Visual Basic Aplication Visual Basic Application Deklarasi Konstanta Anda sering menjumpai suatu code yang mengandung nilai yang berulang-ulang dimunculkan. Suatu konstanta adalah nama yang menyimpan dari suatu nilai yang tidak dapat berubah.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. Visual Basic for Application (VBA).Loop statement. tetapi masing-masing mengevaluasi suatu kondisi untuk menentukan apakah melanjutkan eksekusi Berikut ini adalah statement Do…Loop. ada beberapa Do. dan Data Access (DAO).Loop Gunakan Do loop untuk mengeksekusi suatu blok statement dengan jumlah perulangan yang tak terhingga... Visual Basic akan menjalankan statements jika kondisi benar dan kembali ke Do…Loop berikutnya. deklarasikan dia dalam procedure tersebut Membuat suatu konstanta berlaku pada semua procedure dalam suatu module. Konstanta Visual Basic terdaftar pada Visual Basic (VB). atau anda menemukan bahwa angka tersebut susah diingat.

ketika anda tidak tahu berapa bayak kali untuk butuhkan untuk menjalankan statement. yang dikenal dengan istilah nested. Jika ya.Faktorial = count End Function Variasi lain dari statement Do…Loop. Loop. Do Loop.Next Do loops bekerja dengan baik. Dan berikut ini adalah berulang atau tidak sama sekali : Do Until condition statements Loop Do statements Loop Until condition For. 5. Struktur kendali pada Visual Basic dapat nested sebanyak level yang anda inginkan. Menset nilai counter sama dengan start 3. 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. demikian juga Exit Do untuk Do loop. Mengulangi langkah 2 sampai 4 Code berikut akan mencetak semua item yang terdapat pada suatu daftar list. 4. Tidak seperti Do Loop. Private Sub Form_Click () Dim I As Integer For i = 0 To List1. end. Menjalankan statements tersebut. dan increment semuanya adalah numerik 1. Mencoba apakah counter lebih besar dari end. For…loop menggunakan suatu variabel yang disebut counter yang mana akan bertambah atau berkurang pada setiap perulangan. Visual Basic meninggalkan looping tersebut.List(I) Next End Sub Struktur Kendali Nested Anda dapat meletakkan suatu struktur kendali didalam struktur kendali lainnya. For counter = start To end [Step increment] [statementblock] [Exit For] [statementblock] 45 . Syntaxnya adalah : For counter = start To end [Step increment] statements Next [counter] Argumen counter. Ketika anda mengetahui harus menjalankan statement sejumlah kali. Menaikkan counter dengan 1 atau dengan nilai step yang ditentukan 6. start. Visual Basic : 2. Dalam melakukan For loop.. bagaimanapun For…Next adalah pilihan yang lebih baik. Meninggalkan suatu Struktur Kendali Statement Exit memperbolehkan anda untuk keluar langsung dari suatu For loop. syntax untuk statement Exit adalah sederhana : Exit For dapat muncul sebanyak mungkin dalam suatu For..ListCount-1 Print List1.

IsArray(varname) Mengembalikan suatu nilai boolean yang menunjukan suatu variabel adalah suatu array.. Tanpa melakukan interaksi yang berikutnya.Next [counter[. biasanya digunakan untuk memeriksa isi field recordset. biasanya fungsi ini digunakan untuk memeriksa variabel yang dideklarasikan sebagai Variant... 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. counter] [.]] Do [{While | Until} condition] [statementblock] [Exit Do] [statementblock] Loop Statement Exit Do bekerja pada semua versi syntax Do loop. Contoh : Dim A as Variant If IsEmpty(A) Then Msgbox "Variabel A Empty" End If A=1 If IsEmpty(A) Then Msgbox "Variabel A masih Empty" End If Dim B as Integer If IsEmpty(B) Then Msgbox "Variabel B Emtpy" End If IsNull(ekspresi) Mengembalikan nilai boolean yang menunjukkan suatu ekspresi mengandung data yang tidak valid. IsMissing(argname) Mengembalikan suatu nilai boolean yang menunjukan suatu argumen optional pada procedure ada dilewatkan atau tidak CBool(ekspresi) 46 'Tidak akan muncul karena B adalah Integer 'Tidak akan muncul lagi karena A telah 'terinisialisasi sebagai Integer 'Message akan muncul karena A belum terinisialisai . IsDate(ekspresi) Mengembalikan suatu nilai boolean yang menunjukan suatu ekspresi dapat dikonversi ke date. Exit For dan Exit Do adalah kadang-kadang perlu untuk keluar dari suatu loop dengan segera. Fungsi Bantu pada Visual Basic Fungsi Bantu Konversi IsNumeric(ekspresi): Mengembalikan nilai boolean yang menunjukkan suatu ekspresi dapat dievaluasi sebagai numerik IsEmpty(ekspresi) Mengembalikan nilai boolean yang menunjukkan suatu variabel telah diinitialiasi.

4292). ' MyLong2 berisi nilai 25428. ' Konversi hasil MyDouble * 2 ' MyDouble adalah suatu nilai Double ' MyByte berisi 126. ' Inisialiasi variabel ' Check berisi nilai True ' (1086. MyVal2 adalah Double MyLong1 = CLng(MyVal1) MyLong2 = CLng(MyVal2) CSng(ekspresi) Konversi suatu ekspresi ke single Contoh : ' MyDouble1.2 * 0.Konversi suatu ekspresi ke boolean Contoh : A = 5: B = 5 Check = CBool(A = B) A=0 Check = CBool(A) CByte(ekspresi) Konversi ekspresi ke Byte Contoh : MyDouble = 125. ' MyDouble adalah nilai Double. ' Check berisi False. ' MyInt berisi nilai 2346. ' Definisi waktu dalam string ' Konversi ke type data Date ' Definisi waktu dalam string ' Konversi ke type data Date 47 .45: MyVal2 = 25427. ' MyLong1 berisi nilai 25427.01) CInt(ekspresi) Konversi suatu ekspresi ke Integer Contoh : MyDouble = 2345.5678 MyByte = CByte(MyDouble) CCur(ekspresi) Konversi suatu ekspresi ke Currency Contoh : MyDouble = 543.5678 MyInt = CInt(MyDouble) CLng(ekspresi) Konversi suatu ekspresi ke Long Contoh : MyVal1 = 25427.429176) menjadi suatu ' Currency (1086. 1969" MyShortDate = CDate(MyDate) MyTime = "4:35:47 PM" MyShortTime = CDate(MyTime) CDbl(ekspresi) Konversi suatu ekspresi ke Double Contoh : MyCurr = CCur(234. MyDouble2 adalah Double.55 ' MyVal1.456784) MyDouble = CDbl(MyCurr * 8.214588 MyCurr = CCur(MyDouble * 2) ' MyDouble adalah suatu nilai Double. ' Konversi hasil ke suatu Double. ' MyCurr adalah nilai Currency. CDate(date) Konversi suatu ekspresi ke date Contoh : MyDate = "February 12.

mmm d yyyy") 1993". ' Mengembalikan 97.90". ">") ' Mengembalikan "5. "dddd. MyChar = Chr(65) MyChar = Chr(97) MyChar = Chr(62) MyChar = Chr(37) ' Mengembalikan A. ' MySingle2 berisi nilai 75. ' Mengembalikan "500. mingguPertamaDariTahun]]]) Memformat suatu ekspresi berdasarkan ekspresi format.34216.324". 48 ' Mengembalikan "17:4:23". "##.00%". 1993# Mengembalikan waktu sistem dalam format long time MyStr = Format(Time. ' Mengembalikan "THIS IS IT".9.##0.459. ' Mengembalikan "05:04:23 PM". ' Mengembalikan "Wednesday. format[.324 MyString = CStr(MyDouble) CVar(ekspresi) Konversi suatu ekspresi ke Variant Contoh : MyInt = 4534 MyVar = CVar(MyInt & "000") Asc(string) Mengembalikan kode character dari huruf pertama di suatu string.3421115: MyDouble2 = 75. ' MyDouble adalah Double ' MyString berisi nilai "437.40".00") MyStr = Format(5. Jan 27 . "hh:mm:ss AMPM") MyStr = Format(MyDate. ' MySingle1 berisi nilai 75.34211. ' Mengembalikan >.3421555 MySingle1 = CSng(MyDouble1) MySingle2 = CSng(MyDouble2) CStr(ekspresi) Konversi suatu ekspresi ke string Contoh : MyDouble = 437. suatu string dikembalikan. Format(ekspresi[. ' Mengembalikan a. ' MyVar berisi nilai string 4534000. Contoh : ' MyInt adalah suatu Integer. ' Mengembalikan 65. "<") MyStr = Format("This is it".MyDouble1 = 75. ' Mengembalikan "334. "Long Time") Mengembalikan tannggal sistem dalam format long date MyStr = Format(Date. Contoh : MyTime = #17:04:23# MyDate = #January 27. "0. "h:m:s") MyStr = Format(MyTime. ' Format User-defined MyStr = Format(5459. MyNumber = Asc("A") MyNumber = Asc("a") MyNumber = Asc("Apple") Chr(charcode) Mengembalikan karakter dari suatu kode karakter. "Long Date") MyStr = Format(MyTime. ' Mengembalikan "hello"..00") MyStr = Format(334. MyStr = Format(23) ' Mengembalikan "23". "###0. Contoh : ' Mengembalikan 65.4.00%") MyStr = Format("HELLO". hariPertamaDariMinggu[. ' Mengembalikan %. 'Jika format tidak tersedia.

' Mengembalikan A. 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. ' Mengembalikan 10. MyVal =Val(" 1615 198th Street N.65) MyString = Str(459.001) Val(string) Mengembalikan angka yang terkandung dalam suatu string. suatu konstanta yang menunjukkan hari pertama dari minggu. dan 0 s/d 59 untuk detik.Hex(number) dan Oct(number) Mengembalikan string yang mewakili Octal atau Hexa dari suatu bilangan. Untuk sistem yang menjalankan Microsoft Windows NT. ' Mengembalikan "-459. maka vbSunday diasumsikan. Weekday(date. Mengembalikan string yang mewakili suatu angka.") MyVal =Val("&HFFFF") MyVal =Val("2457") MyVal =Val(" 2 45 7") MyVal =Val("24 and 57") Fungsi Bantu Waktu Now Mengembalikan suatu Variant (Date) yang menunjukkan tanggal dan waktu berdasarkan sistem komputer. Contoh : MyString = Str(459) MyString = Str(-459. ' Mengembalikan " 459. [hariPertamaDariMinggu]) Mengembalikan suatu Variant (Integer) yang menunjukkan hari dari minggu hariPertamaDariMinggu Optional.001". tanggal yang dibutuhkan harus berupa tanggal dari 1 Jan 1980 sampai 31 Desember 2079. ' Mengembalikan 713. ' Mengembalikan 4. jika tidak ditentukan. 49 Contoh : ' Mengembalikan 1615198 ' Mengembalikan -1 ' Mengembalikan 2457.E. ' Mengembalikan 2457. Time Mengembalikan waktu sistem sekarang Timer Mengembalikan suatu bilangan yang menunjukan jumlah detik sejak tengah malam Date Mengembalikan tanggal sistem sekarang Time = Time Date = Date Mengatur waktu atau tanggal sistem Untuk sistem yang menjalankan Microsoft Windows 95. 0 s/d 59 untuk menit. tanggal yang dibutuhkan harus berupa tanggal dari 1 Jan 1998 sampai 31 Des 2099. Contoh : ' Mengembalikan " 459". ' Mengembalikan 1CB. ' Mengembalikan 24. Hour(time) dan Minute(time) dan Second(time) Mengembalikan suatu Variant (Integer) berupa bilangan 0 s/d 23 untuk jam. MyHex = Hex(5) MyHex = Hex(10) MyHex = Hex(459) MyOct = Oct(4) MyOct = Oct(8) MyOct = Oct(459) Str(number) : ' Mengembalikan 5.65".

Konstanta VbUseSystem vbSunday vbMonday vbTuesday vbWednesday vbThursday vbFriday vbSaturday Nilai 0 1 2 3 4 5 6 7 Keterangan Menggunakan setting NLS API Minggu (default) Senin Selasa Rabu Kamis Jumat Sabtu Nilai 1 2 3 4 5 6 7 Keterangan Minggu Senin Selasa Rabu Kamis Jumat Sabtu Nilai yang dikembalikan : Konstanta VbSunday VbMonday VbTuesday VbWednesday VbThursday VbFriday VbSaturday DateAdd(interval. Add Module. Nilai numbe Positif menunjukan (tanggal berikutnya). date) Mengembalikan suatu Variant (Date) yang mana merupakan hasil penjumlahan. date1.subrutin. Sesaat setelah anda menambahkan module. Untuk membuat module dalam project anda dapat menggunakan perintah Project. number. variabel dan type ciptaan yang akan disediakan bagi keseluruhan project. Bagian Keterangan interv Ekspresi string yang menunjukkan interval waktu yang ingin dijumlahkan (Perlu) al Ekspresi numerik yang merupakan jumlah dari interval yang ingin dijumlahkan. date2) Mengembalikan suatu Variant (Long) untuk menunjukkan bilangan dari interval waktu antara dua tanggal. konstanta. (Perlu) Setting argumen untuk interval : Setting Yyyy Q m y d w ww h n s Keterangan Tahun Triwulan Bulan Hari dari tahun Hari Hari dari minggu Minggu Jam Menit Detik Contoh : DateAdd("m". maka pada Jendela Project Explorer akan nampak Module1 50 . 'mengembalikan 28-Feb-95 Module Pada Visual Basic Visual Basic menyediakan module yang dapat digunakan untuk memuat fungsi. 1. Nilai Negatif menunjukan (tanggal r sebelumnya) (Perlu) Suatu Variant (Date) atau literal yang merupakan tanggal dimana interval akan date dijumlahkan padanya. "31-Jan-95") DateDiff(interval.

anda dapat melakukan double klik pada Module tersebut. Deklarasi Variabel Pada Module Pada Module anda dapat mendeklarasikan variabel dengan awalan DIM. sehingga anda dapat dengan mudah melakukan proses debug dari pada jika keseluruhan program tanpa menggunakan procedure. _ (Screen. Contoh : Dim A as Integer Private B as Integer Public C as Integer 'Variabel A adalah Module Level 'Variabel B adalah Module Level 'Variabel C dapat digunakan oleh program keseluruhan Deklarasi Fungsi dan Sub pada module Sub dan Function yang dideklarasikan dalam suatu Module bersifat Global bagi keseluruhan program. Ada beberapa jenis procedure yang digunakan dalam Visual Basic • • Sub procedure yang tidak menggembalikan nilai Function procedure yang mengembalikan nilai yang digunakan bersama.Width .Untuk melakukan koding. Contoh : Sub Tengah(x) x.Move (Screen.Height . sedangkan awalan PUBLIC akan menghasilkan variabel Global yang akan berfungsi bagi keseluruhan Program. Procedure Procedure digunakan untuk memadatkan tugas-tugas berulang ataupun proses operasi database. kecuali kalau diawali dengan awalan PRIVATE.Width) \ 2. PRIVATE maupun PUBLIC. Secara umum ada dua keuntungan dengan pemakaian procedure dalam program : • Procedure memungkinkan anda untuk memecahkan program anda pada unit logika yang lebih kecil.Height) \ 2 End Sub Sub Tengah diatas berlaku untuk program secara keseluruhan. text dan manipulasi kontrol. dimana awalan DIM dan PRIVATE anda membentuk variabel Module Level (hanya berlaku didalam pemakaian module bersangkutan). • Procedure yang digunakan dalam suatu program dapat bertindak sebagai suatu blok yang dibangun untuk program lain dengan sedikit perubahan atau tanpa perubahan sama sekali.x. serta 51 .x. seperti perhitungan yang sering dilakukan.

dimana x adalah parameter yang merupakan form yang akan dibuat ketengah layar. sub Tengah yang dapat digunakan untuk menampilkan form ketengah Layar.• Property procedure yang dapat mengembalikan nilai dan diisi nilai yang mengacu pada suatu objek. Sub Procedure Syntax penulisan Sub procedure: [Private|Public][Static]Sub namaprosedur (argumen-argumen) pernyataan-pernyataan End Sub Setiap kali procedure dipanggil. Adapun syntax penulisan function procedure : [Private|Public][Static]Function namaprocedure (argumen-argumen) [As type] statements End Function Ada tiga perbedaan antara function dan procedure : • • • Umumnya anda dapat memanggil suatu function dengan mengikutkan nama function sisi kanan dari statement atau ekspresi. procedure yang diaktifkan oleh aplikasi Event Procedure. Contoh : Private Sub Command1_Click() Me. maka pernyataan-pernyataan yang berada di antara Sub dan End Sub akan dijalankan. Nilai kembali dimasukkan ke namafunction itu sendirinya. Sub Tengah(x As Form) x.Height . Di Visual Basic Sub Procedure dapat dibagi atas dua yaitu : • • General Procedure. Function memiliki type data seperti suatu variabel.Height) \ 2 x. (returnvalue = function()).Left = (Screen.PrintForm End Sub Memahami Objek App 52 .Width) \ 2 End Sub Private Sub Form_Load() Call Tengah(Me) End Sub Function Procedure Pada Visual Basic telah tersedia berbagai fungsi bawaan seperti Sqr. dan Chr. Procedure yang diaktifkan oleh system sebagai respon terhadap event. tetapi fungsi-fungsi yang tersedia tersebut bersifat umum dan kandang-kadang tidak memenuhi kebutuhan programer.Top = (Screen.Width . Mencetak Isi Form ke Printer Untuk mencetak isi Form ke Printer anda dapat menggunakan Metoda PrintForm pada object Form.x. Cos.x. dan suatu function dapat menjadi bagian dari suatu ekspresi yang panjang. Contoh. Ini menentukan type yang dari nilai yang dikembalikan. Argumen pada procedure adalah nilai yang akan dilewatkan saat pemanggilan procedure. untuk keperluan tersebut anda dapat menciptakan fungsi-fungsi sendiri yang dikenal dengan Function procedure.

Contoh : Private Sub Form_Load() If App.TaskVisible = False End Sub Sedangkan properti Title dapat digunakan untuk menentukan judul aplikasi pada Task List.Dat akan berada di Path yang sama dengan aplikasi.ExeName) <> "INDOPROG" Then MsgBox "Anda tidak berhak mengganti nama program tanpa izin programmer" End End If End Sub Memeriksa apakah aplikasi telah dijalankan Kadang-kadang aplikasi kita hanya boleh dijalankan sekali pada komputer yang sama.Dat" For Random As #1 Len = Len(DatPegawai) Dengan potongan program diatas.0" End Sub 53 . Contoh : Private Sub Form_Load() If UCase$(App. Contoh : Sub Main() App. Mendapatkan nama file Executable Anda dapat menggunakan properti EXEname untuk mendapatkan nama file Executable anda. Contoh : Sub Main() App. sebagaimana kita ketahui. Objek App memiliki banyak properti dan metoda. kita senantiasa yakin bahwa file Pegawai.PrevInstance Then MsgBox "Aplikasi yang sama telah aktif" End End If End Sub Tidak menampilkan aplikasi pada task list ketika sedang berjalan Anda dapat menggunakan properti TaskVisible untuk menentukan apakah aplikasi ditampikan di Task List ketika dijalankan. pada aplikasi Windows umumnya di instalasi pada folder Program Files.Title = "Program Kwitansi Ver 1. sehingga kadang-kadang menjadi masalah ketika program tersebut didistribusikan. Jendela Task List akan dimunculkan ketika anda menekan Ctrl + Alt + Del. Untuk memeriksa apakah instance yang sama dari aplikasi telah berjalan pada sistem. Untuk mendapatkan Path dimana aplikasi berada kita dapat menggunakan properti Path pada objek App Contoh : cFolder = App. yang tidak akan dibahas secara keseluruhan disini. Mendapatkan Path dimana aplikasi berada Salah satu masalah dalam pengaktifan file adalah menentukan path dimana file tersebut berada. tentu saja kita lakukan pada folder sendiri.Objek App disediakan oleh Visual Basic library dan mewakili aplikasi yang sedang dijalankan. tetapi ketika kita mengembangkan program tersebut. anda dapat menggunakan properti PrevInstance.Path Open cFolder & "\Pegawai.

dan Revision mengembalikan informasi tentang versi dari aplikasi yang sedang dijalankan. Minor. FileDescription. terutama untuk mendapatkan Tinggi (Height) dan Lebar (Width) dari Layar komputer untuk menempatkan suatu Form ke posisi di Tengah layar.Move (Screen. dan ProductName akan berguna ketika anda membuat Splash Screen ataupun dialog box About Memahami Objek Screen Pada contoh maupun latihan modul-modul sebelumnya kita banyak menggunakan Objek screen.Height . pada menu Project Properties Sedangkan properti seperti Major.TwipsPerPixelX scrHeight = Screen.atau anda dapat juga menentukannya pada saat design.TwipsPerPixelY Dengan menggunakan objek Screen kita juga dapat memperoleh nama-nama font yang tersedia dilayar dengan menggunakan properti Font dan FontCount.1 lstFonts. LegalCopyright.Width) \ 2.FontCount .Height) \ 2 End Sub Properti Height dan Width mengembalikan ukuran Tinggi dan Lebar layar dalam ukuran Twips.Width .AddItem Screen. 54 . Untuk mendapatkan jumlah Twips per pixel kita dapat menggunakan properti TwipsPerPixelY dan TwipsPerPixelX.MousePointer = vbHourglass Catatan : Efek mouse pointer hanya berlaku pada aplikasi anda. Dim i As Integer For i = 0 To Screen. Contoh : Screen. CompanyName. Contoh : Contoh : Sub Tengah(x) x.x. _ (Screen. Contoh : ' Menggambil semua font pada objek Screen dan memasukkannya ke kontrol ListBox.Fonts(i) Next Anda dapat juga mengubah mouse pointer dengan menggunakan properti MousePointer.Height / Screen.Width / Screen. Comments. LegalTrademarks. tetapi untuk fungsi-fungsi API kita membutuhkan ukuran dalam pixel. Contoh : 'Mendapatkan ukuran tinggi dan lebar layar dalam Pixel scrWidth = Screen.x.

55 .

Membuat suatu Form menjadi MDI Child Dari properti Form tersebut. pilih Command Options. Tentukan StartUp Object ke MDI form yang telah ditambahkan. atau menempatkannya diatas kontainer seperti Picturebox. Ada beberapa hal yang harus diperhatikan dalam penggunaan MDIForm adalah : 1. Pilih Add MDI Form. Menentukan StartUp Objek Pada Menu Tools. akan menjadi icon dibawah MDI Form. pilih Tab Project. Anda dapat menentukan apakah child form secara otomatis ditampilkan atau tidak dengan menggunakan properti AutoShowChildren pada MDIForm. Karakteristik dari MDI Form • • • • Semua child form tidak dapat dipindahkan keluar dari MDI Form.Bab V MDI Form. (Suatu aplikasi hanya dapat terdiri dari satu MDI form) 2. dan Toolbar. kecuali kalau anda menempatkannya kedalam suatu kontainer seperti Picturebox. contoh : 56 . Membuat suatu Aplikasi MDI pada Visual Basic 1. Mendapatkan MDI Child yang sedang aktif. setiap form merupakan form-form yang berdiri sendiri. WordPad dan Paint. 2. Didalam satu project hanya dapat terdiri dari satu MDIForm 2. 3. Menu dan Objek Printer Mengenal Multiple Document Interface Pada Visual Basic. Anda tidak dapat menempatkan kontrol-kontrol secara langsung pada MDIForm. Membuat suatu MDI form Dari menu Insert. Sedangkan kontrol non-visible seperti Timer dan CommonDialog box dapat ditempatkan diatas MDIForm. Untuk mendapatkan form-form yang sedang aktif didalam suatu MDIform. Pada MDIform anda tidak dapat menempatkan kontrol-kontrol visible yang tidak mendukung alignment. Sedangkan aplikasi seperti Microsoft Word menggunakan MDI. anda dapat menggunakan properti ActiveForm. anda dapat mengembangkan aplikasi dengan interface sebagai berikut : • • SDI (Single Document Interface) MDI (Multiple Document Interface) Pada aplikasi SDI. Anda tidak dapat menggunakan metode pengambaran (Print. Line. Aplikasi SDI pada windows terdapat pada aplikasi seperti Notepad. maka menu akan ditampilkan pada MDIform menu. Jika pada child form ada menu. yaitu terdiri dari suatu MDIForm. Ketika suatu child form diminimize. dan didalamnya merupakan form-form anak (MDIchild). kecuali kontrol yang memiliki properti Alignment. ubah nilai properti MDI Child-nya menjadi True. Circle. dan PSet) seperti pada form umumnya.

Metoda Arrange ini diikuti oleh suatu parameter yang menentukan jenis penyusunan yang akan dilakukan. dan ketikkan menu yang berikutnya. 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). UnloadMode As Integer) If Not Me.ActiveForm Is Nothing Then MsgBox "Masih ada Form yang aktif" Cancel = True End If End Sub Mengatur MDI Child dalam jendela MDI form Anda dapat menggunakan metoda Arrange untuk mengatur penyusunan form-form yang sedang aktif didalam suatu MDI form.Private Sub MDIForm_QueryUnload(Cancel As Integer. sampai selesai. Pada contoh diatas akan menghasilkan menu sebagai berikut : 57 . selanjutnya klik pada Next. Anda dapat membentuk Kunci Akses dengan menggunakan tanda & (ampersand) pada Caption dari menu tersebut. Pada dasarnya setiap item menu memiliki Caption dan sebuah Nama. contoh : Private Sub mnuTileHorizontally_Click() Arrange vbTileHorizontal End Sub Private Sub mnuTileVertically_Click() Arrange vbTileVertical End Sub Private Sub mnuCascade_Click() Arrange vbCascade End Sub Private Sub mnuArrangeIcons_Click() Arrange vbArrangeIcons End Sub Membuat Menu Pada Visual Basic Pembuatan menu pada Visual Basic dapat dilakukan dengan bantuan Menu Editor yang terdapat pada Menu Tools. Untuk membuat menu anda cukup mengetikan Caption dan Name.

Sehingga akan menghasilkan menu sebagai berikut : Melakukan Koding terhadap Menu Untuk melakukan koding terhadap item menu. contoh : Private Sub mnuDataDepartemen_Click() frmDepartemen. anda dapat membuka menu pada saat design dan akan menghasilkan Event Click untuk item menu tersebut.Show End Sub Membuat Menu yang memiliki tanda Check Anda dapat membuat menu yang memiliki tanda Check dengan memanfaatkan option Checked pada Menu Editor.Membuat Garis Pemisah antar Menu Anda dapat menggunakan tanda .(karakter hypen) untuk membuat garis pemisah antar menu pada Caption. 58 .

anda dapat membuat menu pop up dengan memanfaatkan menu Editor untuk mendefinisikan nama kelompok menu Pop Up beserta Sub Menunya. dan option Enabled untuk membuat suatu menu dapat dipilih atau tidak.Sehingga akan menghasilkan menu sebagai berikut : Anda dapat mengatur keaktifan tanda Check dari item menu tersebut dengan koding sebagai berikut : Private Sub mnuTampilWaktu_Click() mnuTampilWaktu.Checked If mnuTampilWaktu.Checked = Not mnuTampilWaktu. 59 .Show Else Unload frmWaktu End If End Sub Anda dapat memanfaatkan option Visible untuk menyembunyikan menu ataupun menampilkan suatu item menu berdasarkan kondisi tertentu. dan menonaktifkan option Visible dari kelompok menu tersebut.Checked Then frmWaktu. Membuat Menu Pop Up Pada Visual Basic.

Anda dapat memeriksa kembali fungsi properti-properti ini pada control Picture. ScaleTop. Y As Single) If Button And vbRightButton Then PopupMenu mnuAtur End If End Sub Sehingga kalau dilakukan klik kanan pada form akan menanpilkan suatu Pop Up menu yang berupa Sub Menu dari menuAtur. Memahami Objek Printer Untuk memcetak hasil aplikasi anda ke printer. Objek printer juga mendukung properti ScaleWidth. Circle. ScaleHeight. Pada objek printer tersedia berbagai metoda pencetakkan text dan pengambaran grafik (Line. X As Single. dll) seperti yang tersedia pada form maupun kontrol Picturebox. Anda dapat juga menggunakan metoda Newpage untuk membuat printer mencetak tulisan berikutnya ke halaman baru.Kemudian lakukan koding pada Event MouseDown pada MDIform Private Sub MDIForm_MouseDown(Button As Integer. Metoda EndDoc untuk memulai pencetakkan yang 60 . dan ScaleLeft. Pset. Mencetak Data ke Objek Printer Anda dapat menggunakan metoda print untuk mengirim tulisan yang akan dicetak ke objek printer. anda dapat mengunakan objek Printer yang disediakan oleh Visual Basic. Shift As Integer.

PSet. misalnya vbPRPSLetter untuk 8 1/2 x 11 (Letter).Print "Ini akan dicetak pada halaman kedua" Printer.EndDoc Untuk menentukan jumlah rangkap pencetakkan dapat menggunakan properti Copies. Anda juga dapat menggunakan properti Page untuk mendapatkan nomor halaman.Print "Indoprog-vb.NewPage Printer.Print "Hello Indoprog-vb" Catatan : Ukuran dinyatakan dalam Twips.NewPage Printer. dll Italic Mengaktifkan cetak miring (True.sebenarnya.Print "Ini akan dicetak pada halaman kedua" Printer. Arial. False) 61 . Menentukan ukuran kertas Properti PaperSize dapat digunakan untuk menentukan ukuran kertas. False) Size Menentukan ukuran font StrikeThroug Mengaktifkan cetak coret (True. dan PaintPicture seperti yang terdapat pada Form dan PictureBox.EndDoc Anda dapat juga menggunakan metode pengambaran grafik seperti Line.CurrentY = 1*1440 '1/2 inch '1 inch Printer. Circle. misalnya Verdana.PaperSize = vbPRPSLetter Menentukan posisi pencetakkan Anda dapat mengatur/mendapatkan posisi pencetakkan dengan menggunakan properti CurrentX dan CurrentY. False) ht Underline Mengaktifkan cetak garis bawah (True. Courier New. Printer.Print "Indoprog-vb. Times New Roman. Pada objek font anda dapat mengatur setting seperti: Properti Bold Name Keterangan Mengaktifkan cetak tebal (True. Contoh : Printer. Contoh : Printer.CurrentX = 0. dimana 1 inch = 1440 Twips Menentukan font pencetakkan Anda dapat mengatur font pencetakan dengan menggunakan objek font. False) Menentukan nama font yang digunakan. Contoh : Printer. Untuk konstanta jenis ukuran kertas dapat anda lihat dengan Object Browser pada PrinterObjectConstants. forum diskusi dan belajar bersama Visual Basic" Printer.5*1440 Printer. sedangkan KillDoc untuk membatalkan pencetakkan.Copies = 2 Printer. forum diskusi dan belajar bersama Visual Basic" Contoh : Printer.

DriverName & "]" Next Anda dapat juga mendapatkan informasi dengan properti Port (misalnya. 2-vbPRORLandscape). Berikut ini adalah contoh mengisi nama Device dan Driver dari printer yang terinstalasi pada sistem pada suatu ComboBox.AddItem Printers(i). Untuk mencetak dengan menggunakan printer yang tertentu anda dapat melakukan setting printer ke printer yang bersesuaian. dan DriverName untuk mendapatkan nama Driver. anda dapat menggunakan properti Count.Bold = True Printer.Font. memeriksa apakah printer tertentu dapat melakukan pencetakkan berwarna denga properti ColorMode (1vbPRCMMonochrome or 2-vbPRCMColor). Contoh : Private Sub cmdMakeCurrent_Click() Set Printer = Printers(cboPrinters. sedangkan nama printer dapat diperoleh dengan DeviceName.Font.ListIndex) End Sub 62 . Contoh berikut akan menlakukan setting printer ke nomor printer tertentu berdasarkan pilihan pemakai dari ComboBox.DeviceName & " [" & _ Printers(i).Font.Contoh : Printer.Name = "Verdana" Printer. maka printer yang akan digunakan adalah printer default pada sistem anda.Print "Hello Indoprog-vb" Menentukan orientasi pencetakkan Anda dapat menggunakan properti Orientation untuk menentukan orientasi pencetakkan Portrait atau Landscape (1-vbPRORPortrait.Size = 14 Printer.Orientation = vbPRORLandscape Mendapatkan informasi printer yang terinstalasi pada sistem Untuk mendapatkan jumlah printer yang terinstalasi pada sistem. Contoh : Printer. Contoh : For i = 0 To Printers. Menentukan Printer yang akan digunakan Jika anda tidak menentukan printer yang akan digunakan.Count _ 1 cboPrinters. LPT1:).

sebagai dasar dari proses belajar. Konsep Database Relational Model relational merupakan standar untuk rancangan database. Dengan mengunakan suatu Sistem Manajemen Database (DBMS) anda dapat menempatkan database Report. Query. kaitan data antar tabel ini di dalam database merupakan model dari relationship. dimana database disimpan dan ditampilkan sebagai suatu koleksi dari tabel-tabel. dan mengorganisasikannya menjadi tabel-tabel. Jika database anda tidak tersimpan dalam komputer. 63 . Suatu struktur didefinisikan dengan membuat relasi antar tabel. dan mengkoordinir data tersebut menjadi laporan dengan berbagai fasilitas seperti Form. seperti menangani nilai-nilai ujian mahasiswa atau menangani suatu daftar koleksi musik. anda harus memahami dasar dari database dan model database relational. Suatu database merupakan koleksi dari informasi yang berhubungan dengan subjek atau fungsi tertentu.Bab VI Database dan Data Kontrol Mulai modul ini kita akan bekerja dengan database. maka anda harus menangani informasi tersebut dari berbagai sumber dan mengkoordinir serta mengorganisasinya sendiri. anda dalam suatu file.

pada database Northwind memiliki suatu daftar dari tabel-tabel karyawan. Menyediakan suatu bahasa yang relatif lengkap untuk mendefinisikan data. Database-database Relational mendukung suatu bahasa standar yang dikenal sebagai Structured Query Language (SQL). Database Northwind (Nwind. SQL telah berkembang menjadi suatu bahasa yang comprehensive untuk pengendalian dan interaksi dengan suatu sistem manajemen database (DBMS). 64 . SQL adalah suatu standar yang disetujui oleh American National Standards Institute (ANSI). Menyediakan aturan integritas yang mana mendefinisikan suatu keadaan yang konsisten untuk meningkatkan reliabilitas data. Sebagai contoh. Tabel-tabel dibentuk oleh baris-baris dan kolom-kolom. pelanggan. Tabel Model database relational menampilkan data sebagai suatu koleksi dari tabel-tabel. Suatu tabel adalah pengelompokan secara logika dari informasi yang berhubungan. mengambil dan mengupdate. order.Adapun model database relational menawarkan keuntungan sebagai berikut : • • • Mengorganisasikan data didalam suatu koleksi tabel-tabel membuat rancangan menjadi mudah dipahami. Baris-baris sering disebut sebagai recordrecord dan kolom-kolom disebut sebagai field-field. Suatu relational database manajemen sistem (RDBMS) adalah software yang memungkinkan anda untuk menampilkan data anda pada suatu model relational.mdb) adalah suatu contoh database relational yang ada pada Microsoft Access dan Visual Basic.

anda dapat membuat database dengan menggunakan Visual Data Manager yang dapat diaktifkan dari menu Add Ins. Sebagai contoh. yang mana nilainya bersifat unik untuk tiap baris atau record dalam tabel. Suatu foreign key "menunjuk pada" suatu field primary key pada tabel yang berhubungan. suatu record Karyawan memiliki No Induk Karyawan. setiap pelanggan dapat melakukan lebih dari satu pesanan. Data tabel yang terindex berurut akan lebih cepat pencariaannya dibandingkan dengan tabel. Primary key adalah suatu field. Sebagai contoh. 65 . Setiap field dalam suatu record mengandung suatu potongan tunggal dari informasi tentang record. Nama. pada database Northwind. banyak database menggunakan index. Setiap Nomor Pelanggan pada tabel Order menunjukkan Pelanggan yang melakukan Pesanan tersebut. Tidak ada dua karyawan yang memiliki Nomor Induk yang sama.Record Suatu record mengandung informasi dari suatu isian tunggal dalam suatu tabel. Sebagai contoh. Visual Data Manager. Key Untuk secara unik mengenali suatu baris (record). Index Untuk mempercepat akses. Membuat Database dengan Visual Data Manager Pada Visual Basic. Hubungan antara tabel Pesanan dan Pelangan adalah one-to-many relationship yang mana adalah. Marga dan yang lainnya. atau konbinasi dari field-field. setiap tabel harus memiliki suatu primary key. Field Suatu record dibentuk oleh banyak field. Setiap isi index menunjuk ke posisi ditabelnya. Tabel Pesanan mengandung suatu field Nomor Pelanggan. field Nomor Induk Karyawan adalah primary key untuk tabel Karyawan. Suatu tabel dapat mengandung field yang merupakan foreign key. Sebagai contoh. sebuah record dalam suatu tabel Karyawan akan mengandung informasi dari karyawankaryawan.

misalnya Indoprog. menunjukan koleksi dari database anda 2.mdb Selanjutnya akan ditampilkan dua jendela yaitu : 1. Klik kanan pada "Properties" yang berada pada Database Window 2.0 2. pilih New. Pilih New Table. sehingga akan muncul kotak dialog Table Structure 66 . Microsoft Access. SQL Statement. tempat anda mengetikkan bahasa SQL Membuat Tabel anda yang pertama 1.Membuat Database anda yang pertama 1. Tentukan lokasi penyimpanan dan nama database anda. Dari menu File. Version 7. Database Window.

pilihlah Type data yang bersesuaian dan ukuran dari field tersebut Anda dapat menentukan apakah field tersebut adalah AutoIncrField (untuk type Long). dan akan muncul kotak dialog Add Field. Klik pada Ok. Pada Table Name ketikkan nama tabel yang ingin anda buat. misalnya Forum 4. jika telah selesai klik pada Close. AllowZeroLength (untuk type Text).3. 67 . Required. Klik pada Add Field untuk mengetikkan field-field tabel anda. dan lakukan hal yang sama untuk field berikutnya. Name ketikkan nama field anda.

Unique dan IgnoreNulls. Pada Name ketikkan nama Index. dan double klik pada field yang ingin di Index pada kotak Available Fields. 68 . Langkah selanjutnya adalah membuat Primary Key untuk tabel anda dengan melakukan klik pada tombol Add Index. klik OK jika telah selesai.5. dan akhirnya Close. Anda dapat menentukan option Primary.

Tabel Aktifitas Nama Field (Foreign key) Email ForumID Foreign Tabel Peserta Forum Email ForumID 69 Foreign Field . Dalam hal ini adalah tabel Forum. dan pilih Open. Akhirnya klik pada Build The Table. Mengetik data pada Visual Data Manager 1. Pilih jenis Table type recordset 2. Membuat Relasi antar database Sesuai dengan konsep database relational. klik Add dan mulai mengetikkan data anda. Pada Database Windows klik kanan pada tabel yang ingin anda ketik datanya. adapun relasi antar tabel tersebut adalah sebagai berikut : Tabel Aktifitas berisi data aktifitas peserta dimana seorang Peserta dapat mengikuti lebih dari satu forum Diskusi. dan status Peserta pada masing-masing forum diskusi dapat berbeda-beda. Pada database yang telah kita buat pada Latihan 1. tentu saja tabel-tabel didalam suatu database memiliki link berdasarkan field tertentu yang bertindak sebagai foreign key dan primary key.6. dan akhirnya Update. dan sebuah forum diskusi dapat diikuti oleh lebih dari satu peserta.

Status 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. Jika dibuka dengan Relationship pada Microsoft Access maka hasil perintah SQL diatas akan membuat relasi antar tabel sebagai berikut : Mengenal Data kontrol DBList Data kontrol merupakan kontrol standar yang disediakan pada Visual Basic untuk digunakan untuk membuat aplikasi database sederhana. ALTER TABLE Aktifitas ADD CONSTRAINT AktifitasForumID FOREIGN KEY (ForumId) REFERENCES Forum (ForumId).]])] dimana : table name ref foreigntable foreignfield Nama table Nama Constraint yang akan dibuat Nama field yang akan dibuat relasi Nama foreign table Nama foreign field Contoh : ALTER TABLE Aktifitas ADD CONSTRAINT AktifitasEmail FOREIGN KEY (Email) REFERENCES Peserta (Email).]]) REFERENCES foreigntable [(foreignfield1 [. . .. foreignfield2 [. Adapun DDL (Data Definition Language) SQL untuk membuat Relasi antar tabel adalah sebagai berikut : ALTER TABLE table ADD CONSTRAINT name FOREIGN KEY (ref1[. 70 . ALTER TABLE Aktifitas ADD CONSTRAINT AktifitasStatus FOREIGN KEY (Status) REFERENCES Satus (Status). Data kontrol merupakan suatu lapisan yang menghubungkan data dengan user interface.. ref2 [...

Suatu himpunan dari record secara dinamis yang di ambil dari suatu tabel tunggal maupun hasil Query (SQL) dari satu atau lebih tabel. 3 Left. Memahami Jenis RecordSet Visual Basic menerima dan menampilkan record dari database dengan menggunakan objek Recordset. Anda dapat memilih jenis objek Recordset yang ingin anda gunakan pada Property (RecordsetType).1.ODBCCursor. mengurangi.MoveLast. True) Menentukan apakah recordset adalah readonly atau tidak (False. 4 . 2 . Metoda-metoda pada Data Kontrol Sebagaimana objek-objek standar lainnya. objek Data kontrol menyediakan berbagai metoda yang dapat anda gunakan.ServerSideCursor) Menentukan jenis data yang digunakan (2 . dan membuat laporan. 0 . atau menghapus record pada jenis recordset ini. 1. True) Menentukan jenis recordset yang akan digunakan (1-Dynaset. jika aplikasi anda tidak menggambil data lebih dari satu tabel.UseJext.MoveFirst. Anda dapat menambah.Right) Menentukan metoda yang akan otomatis diaktifkan ketika posisi pointer mencapai BOF (1 .Top. Anda dapat menambah. 1 .Recordset. Recorset Snapshot dapat mengandung field dari satu atau lebih tabel yang tidak dapat di update.2-AddNew) Menentukan modus pengaktifan database secara Share atau Exclusive (False. Suatu himpunan dari record yang merupakan duplikasi secara statis. dll) sebagai sumber data Menentukan path dan nama database file yang akan digunakan sebagai sumber data Menentukan jenis kursor yang digunakan (0 .Bottom. 2 . Anda dapat menggunakan recordset jenis ini untuk mencari data.MoveFirst 71 .DefaultCursor. 0-Table. recordset disimpan pada memori lokal.BOF) Menentukan tulisan pada data kontrol Menentukan jenis software file database (Access. dapat berupa nama tabel maupun bahasa SQL (khusus untuk Dynaset dan Snapshot) 6. dBaseIV. mengubah. ataupun sumber data non-ODBC. dBaseIII. Recordset menampilkan record dari suatu Tabel atau record yang merupakan hasil Query (SQL). 0 . 2Snapshot) Menentukan sumber data untuk recordset. atau menghapus record Dynaset pada jenis recordset ini. 1 .Properti pada Data kontrol Properti Align BOFAction Caption Access DatabaseName DefaultCursorType DefaultType EOFAction Exclusive ReadOnly RecordsetType RecordSource Keterangan Menentukan pemerataan kontrol pada Form (0-None. Catatan : Pada Dynaset dan Snapshot. Ada tiga jenis recordset yang dapat ditentukan pada properti RecordSetType pada data control. dan nilai defaultnya adalah vbDynasetType. adapun ketiga jenis recordset tersebut adalah sebagai berikut : Jenis Recordset Table Keterangan Suatu himpunan dari record yang diambil dari suatu tabel tunggal database. maka Recordset jenis Table merupakan pilihan yang baik dari segi kecepatan dan efisiensi pemakaian memori. Bergerak dalam RecordSet Metoda MoveFirst MoveLast MovePrevious MoveNext Memindahkan Memindahkan Memindahkan Memindahkan keaktifan keaktifan keaktifan keaktifan pointer pointer pointer pointer Fungsi ke awal recordset ke akhir recordset ke record sebelumnya ke record berikutnya Contoh : Data1.UseODBC) Menentukan metoda yang akan otomatis diaktifkan ketika posisi pointer mencapai BOF (1 . Snapshot dan perubahan akan mempengaruhi tabel yang bersangkutan.EOF.

tetapi sebelumnya anda perlu menentukan index yang digunakan dengan properti index Data1. Contoh Data1.Seek "=".."hendra@indoprog.com'" Untuk RecordSet jenis Table Pada recordset jenis table anda dapat menggunakan metoda Seek.FindFirst "Email = 'hendra@indoprog.RecordSet.Seek "=". key2.Index = "P_Key" Data1.MoveFirst Data1.RecordSet.Recordset.NoMatch Then MsgBox "Peserta belum terdaftar !" Else MsgBox "Peserta telah terdaftar !" End If Menandai posisi record Untuk menyimpan posisi record anda dapat menggunakan properti bookmark.hendra@indoprog.Recordset.Bookmark Data1.FindFirst "Email = 'hendra@indoprog.com Memeriksa hasil pencarian record Anda dapat menggunakan properti NoMatch untuk memeriksa hasil pencarian dengan metoda Find maupun metoda Seek.Index = NamaIndex Data1.Seek perbandingan.RecordSet. key1.Recordset.RecordSet.Recordset.RecordSet. .Recordset.Index = "P_Key" Data1.NoMatch Then MsgBox "Peserta belum terdaftar !" Else MsgBox "Peserta telah terdaftar !" End If atau Data1.Recordset.com'" If Data1.Recordset. Perbandingan "=" ">=" ">" "<=" "<" Keterangan Sama dengan Lebih besar atau sama Lebih besar Lebih kecil atau sama Lebih kecil Contoh : Data1. Contoh : Dim MyBookMark As Variant MyBookMark = Data1.Recordset.Bookmark = MyBookMark 72 .com" If Data1..Mencari suatu record tertentu Untuk RecordSet jenis Dynaset dan SnapShot Metoda FindFirst kriteria FindLast kriteria FindNext kriteria FindPrevious Kriteria Mencari Mencari Mencari Mencari record record record record Fungsi pertama yang memenuhi kriteria terakhir yang memenuhi kriteria berikutnya yang memenuhi kriteria sebelumnya yang memenuhi kriteria Contoh : Data1.

Untuk mengambil nilai field dari record yang sedang aktif secara koding.Recordset("FName") Data1. 2. maka perubahan nilai pada kontrol tersebut akan mempengaruhi isi field yang bersangkutan ketika posisi record pointer berpindah.UpdateRecord End Sub Untuk mengubah nilai field dari record yang sedang aktif secara koding.Update Menambah record baru ke recordset Anda dapat menggunakan prilaku properti EOFAction untuk secara otomatis menambahkan record baru ketika posisi record pointer berada di EOF. Simpan record baru dengan method Update. ' Mengacu pada FName field.Recordset("Email") Mengubah nilai field dari record aktif Jika suatu kontrol di bound pada data kontrol. maka kontrol tersebut akan menampilkan nilai field dari record yang sedang aktif.Print Data1. Secara koding anda dapat melakukan langkah berikut untuk menambahkan record baru ke recordset : 1.Recordset("Email") = "hendra@indoprog.Valu e n=0 Data1. anda dapat menggunakan salah satu cara berikut : Data1.Recordset. ' Mengacu pada FName field ' Mengacu kepada field sebagai collection default.Recordset. Find. anda dapat segera mengetikkan data pada kontrol-kontrol yang dibound pada kontrol data tersebut. atau Seek.Fields("FNam e") string$ = "FName" Data1. 2. dan memindahkan keaktifan record pointer untuk proses update. 3. ataupun menggunakan metoda UpdateRecord. Data1. 73 .Recordset.RecordSet. Tentukan nilai baru untuk record baru. Membuat suatu record baru dengan method AddNew. ' Mengacu pada nilai pada field pertama.Recordset. maupun ketika dilakukan proses update dengan metoda UpdateRecord. Tentukan nilai baru kefield yang mau diubah 3. Gunakan method Update atau method Move. Posisikan current record ke record yang akan diedit. ' Mengacu tidak langsung dengan nama field. ' Mengacu pada nilai pada field pertama ' Mengacu tidak langsung dengan suatu field number. ' Mengacu kepada field sebagai collection default.Mengambil nilai field dari record aktif Jika suatu kontrol di bound pada data kontrol. Contoh : Data1.Fields(string$ ) Data1..Fields(0).Recordset(n) Contoh : Debug. anda dapat melakukan langkah sebagai berikut : 1.. Contoh : Private Sub cmdUpdate_Click() Data1. Current record pointer disimpan dan berpindah ke record baru.Fields(n) Data1.Recordset.com" .Edit Data1.

com" .MoveNext If Data1. posisi record pointer akan dikembalikan keposisi sebelum record baru tersebut ditambah. maka record tersebut menjadi invalid. Untuk membuat posisi record berada di record baru tersebut anda dapat menggunakan bookmark yang diset ke lastmodified.Bookmark = Data1.Recordset. Contoh : Data1.Recordset("Email") = "hendra@indoprog. sehingga anda harus menggunakan MoveNext untuk memindahkan posisi setelah setiap penghapusan. Form yang mengandung data control di unload 3.MoveLast End If Melakukan refresh data pada Recordset Anda dapat menggunakan metoda Refresh untuk menutup dan membentuk ulang isi Recordset.Recordset. Usaha untuk melakukan suatu metode atau akses pada element dari recordset yang telah terhapus akan menghasilkan kesalahan.Recordset.Close Database dan recordset akan secara otomatis tertutup ketika : 1..LastModified Menghapus record yang sedang aktif Untuk menghapus seluruh record.Delete Data1. 74 . posisikan ke record yang akan dihapus.RecordSet.Recordset..Recordset. dan gunakan method Delete.RecordSet. Contoh : Data1.Update Catatan : Setelah update.Update Data1..com" .Eof Then Data1.Recordset. 2.Contoh : Data1. Anda menggunakan method Close terhadap recordset tertentu.AddNew Data1. Data1.Refresh Menutup suatu Recordset Method Close menutup recordset dan membebaskan resource yang dialokasikan padanya.Recordset.Recordset.RecordSet.Recordset("Email") = "hendra@indoprog. Contoh : Data1. Program menjalankan statement End. Event Pada Data Kontrol Event Error Event Error akan dibangkitkan ketika terjadi kesalahan pada data kontrol yang bukan disebabkan oleh koding yang menggunakan perintah Visual Basic. Data1.. Sesaat setelah record tersebut dihapus. Contoh : Data1.AddNew Data1.

Private Sub Data1_Reposition() End Sub Contoh berikut akan mengunci semua textbox dari perubahan ketika terjadi event reposition.Locked = True End Sub Event Validate Event ini terjadi sebelum perubahan dilakukan terhadap yang sedang aktif seperti metoda update. vbDataActionBookmark. vbDataActionCancel. CboPrinters 75 . Contoh : Private Sub Data1_Error(DataErr As Integer. Private Sub Data1_Validate(Action As Integer. Response As Integer) Select case DataErr Case 3163 MsgBox "Panjang data melebihi ukuran field" Response = vbDataErrContinue Case Else Response = vbDataErrDisplay End Select End Sub Event Reposition Event ini terjadi ketika suatu record menjadi Current position.Locked = True txtAlamat. dan menentukan Response terhadap kesalahan tersebut (vbDataErrContinue. misalnya vbDataActionAddNew.Locked = True txtKeterangan. vbDataErrDisplay) apakah diabaikan atau ditampilkan. dll. Response As Integer) End Sub Anda dapat mendapatkan nomor kesalahan dengan mengevaluasi nilai DataErr. delete ataupun close. Save As Integer) End Sub Anda dapat melakukan evaluasi terhadap Action untuk mendapatkan aksi yang membangkitkan event Validate tersebut.Private Sub Data1_Error(DataErr As Integer. Private Sub Data1_Reposition() txtForumID.

False. penguncian dilakukan sesaat setelah pemakaian metoda . Pesimistik Locks. vbCritical. Optimistik Locks. True) End Sub Private Sub cmdUpdate_Click() On Error GoTo ErrUpdate_click If txtForumID.Text = "" Then MsgBox "Keterangan tidak boleh kosong".Text = "" Then MsgBox "Forum ID tidak boleh kosong". maka usaha penguncian oleh pemakai lain terhadap data lain yang berada pada Page yang sama akan gagal. vbCritical. "Warning" 76 ' Penguncian terjadi disini pada Pesimistik Locks . dimana mekanisme masing-masing Locks dapat dijelaskan sebagai berikut : Private Sub cmdEdit_Click() Flag = flEdit RsForum.Update 2.Recordset. Pada saat suatu Page sedang dikunci. Perhatikan kembali potongan program berikut yang diambil dari Latihan 3 Modul 9.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. Sesuatu hal yang perlu diperhatikan dalam pengaktifan file Database secara Share (Exclusive False) adalah mekanisme penguncian ketika data di Edit. Pengaturan modus pembukaan file database pada Data kontrol dapat dilakukan dengan menentukan nilai dari properti Exclusive menjadi True (Single User) atau False (Multi User). Mekanisme penguncian pada Data kontrol dapat menggunakan dua jenis strategi. Contoh : Private Sub Form_Load() RsForum.Refresh RsForum. "Warning" Exit Sub End If If txtKeterangan.Bab VII Pengaturan 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. penguncian dilakukan sesaat pada saat metoda . True. False. yaitu : 1.Edit Call Kunci(False) Call AturTombol(False.Recordset.Edit Pemakaian strategi penguncian ini dapat ditentukan pada Properti LockEdits dengan mengubah nilainya menjadi True (Pesimistik Locks) atau False (Optimistik Locks).

sedangkan Optimistik Locks. True.Description End Select End Sub Pada Pesimistik Locks. False. False) RsForum.Bookmark = RsForum. "Warning" Case Else MsgBox Err. dan penguncian dibuka kembali sampai metoda Update maupun Cancel Update.Number Case 3022 MsgBox "Telah terjadi duplikasi pada Forum ID".Number & vbCrLf & Err. sehingga permintaan Locks pada saat Edit (Pesimistik) maupun Delete gagal dilakukan. vbOKOnly + vbInformation.Recordset.Update Locks Flag = flNone Call Kunci(True) Call AturTombol(True.Recordset. Contoh : Private Sub cmdEdit_Click() On Error GoTo ErrcmdEdit_Click Flag = flEdit RsForum. True. vbOKOnly + vbInformation 'Data Page (2 kb) telah dikunci oleh pemakai lain Case 3260 nHitung = nHitung + 1 'Memungkinkan pemakai membuat keputusan ulangi 77 'Sumber Error pada Pesimistik Locks ' Penguncian terjadi disini pada Optimistik .Exit Sub End If If txtAlamat. Masalah pada Pesimistik Locks Masalah pada Pesimistik Locks adalah kegagalan penguncian karena Page sedang dikunci oleh pemakai lain.Edit Call Kunci(False) Call AturTombol(False. 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 !". penguncian dilakukan sesaat setelah metoda Edit. False. dalam hal ini adalah 3260.Text = "" Then MsgBox "Alamat tidak boleh kosong". "Warning" Exit Sub End If RsForum. True. Anda dapat menggunakan Error Handling untuk menangani kegagalan ini dengan mengevaluasi nilai Err yang dihasilkan.LastModified Exit Sub ErrUpdate_click: Select Case Err. vbCritical.Recordset. penguncian dilakukan sesaat metoda Update dilakukan. False.Recordset.

Recordset. sehingga permintaan Locks pada saat Update (Optimistik) gagal dilakukan. 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 + vbInformation Resume CancelcmdDelete Case Else MsgBox "Error" & Err. vbOKOnly + vbInformation.MoveLast End If CancelcmdDelete: Exit Sub ErrCmdDelete_Click: Select Case Err.'Penguncian atau batal. tetap terbuka pemakai lain melakukan Edit terhadap data yang sama. "Warning" 'Data Page (2 kb) telah dikunci oleh pemakai lain Case 3260 MsgBox "Data dikunci user lain.Number 'Data telah kosong Case 3021 MsgBox "Data telah kosong". hapus tidak dapat dilakukan !".Recordset. maksimum 2 kali If nHitung > 2 Then nPilih = MsgBox("Ulangi penguncian ?".EOF Then RsForum.Number & vbCrLf & Err. 'Sumber Error kalau data telah habis 'Sumber Error pada Pesimistik Locks 78 .MoveNext If RsForum. ataupun data telah diubah oleh pemakai lain sejak metoda Edit.Recordset. karena pada Optimistik Locks.Delete RsForum. vbOKOnly Resume CancelcmdEdit End Select End Sub Private Sub cmdDelete_Click() On Error GoTo ErrCmdDelete_Click RsForum.Recordset.Description End Select End Sub Masalah pada Optimistik Locks Masalah pada Optimistik Locks adalah kegagalan penguncian karena Page sedang dikunci oleh pemakai lain.

"Warning" Exit Sub End If If txtAlamat.Recordset.Anda dapat menggunakan Error Handling untuk menangani kegagalan ini dengan mengevaluasi nilai Err yang dihasilkan. anda dapat menggunakan metoda Move 0.Recordset. vbOKOnly + vbInformation 'Hal ini secara otomatis akan menyegarkan 'kembali recordset untuk menampilkan data terakhir RsForum. "Warning" Exit Sub End If RsForum. Untuk merefresh data yang telah berubah.Update Flag = flNone Call Kunci(True) Call AturTombol(True. vbCritical. "Warning" Exit Sub End If If txtKeterangan. True. vbOKOnly + vbInformation 'Data telah berubah sejak metoda Edit Case 3197 'Data pada recordset telah berubah 'sejak ditampilkan. vbCritical.Text = "" Then MsgBox "Keterangan tidak boleh kosong". False.Text = "" Then MsgBox "Alamat tidak boleh kosong". MsgBox "Data telah diubah oleh pemakai lain !".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. Contoh : Private Sub cmdUpdate_Click() On Error GoTo ErrcmdUpdate_click If txtForumID. batal If nHitung > 2 Then nPilih = MsgBox("Data sedang dikunci pemakai lain" & vbCrLf & _ 79 'Sumber Error Pada Optimistik Locks . "Warning" 'Data telah dihapus pemakai lain Case 3167 MsgBox "Data telah dihapus pemakai lain" & vbCrLf & _ "Lakukan refresh data anda !". vbCritical.Number 'Terjadi duplikasi pada Primary Key Case 3022 MsgBox "Telah terjadi duplikasi pada Forum ID". vbOKOnly + vbInformation.Recordset. False) RsForum.LastModified CancelcmdUpdate: Exit Sub ErrcmdUpdate_click: Select Case Err.Text = "" Then MsgBox "Forum ID tidak boleh kosong". dalam hal ini adalah 3260 (kegagalan penguncian) dan 3197 (data telah berubah sejak metoda edit).Bookmark = RsForum. True.Recordset.

Pada lingkungan MultiUser.Refresh End Sub 80 . Jika seorang user menghapus suatu record. penambahan dan penghapusan data oleh pemakai lain dapat langsung diakses. perubahan data tersebut dapat langsung diakses. Contoh : Private Sub cmdRefresh_Click() RsForum. anda dapat melakukan tambah. vbOKOnly Resume CancelcmdUpdate End Select End Sub Recordset pada lingkungan MultiUser Table Suatu Recordset jenis Tabel mengambil data dari suatu tabel. Sehingga perubahan. Hanya record yang aktif yang dimuat ke memori. data tersebut tidak akan kelihatan sama user lain. perbaiki maupun hapus data dari tabel. Ketika user mengupdate data. maka tabel yang berkaitan akan berubah. sampai pemakaian metoda Requery (pada Data Kontrol digunakan Refresh). 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 Resume Case Else MsgBox "Error " & Err & ":" & Error."Ulangi penguncian ?". tetapi jika seorang user melakukan penambahan data. user lain akan diberitahu ketika akan mengakses record tersebut. Dynaset Recordset 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.

.]] [. SINGLE 4 byte 81 .94065645841247E-324 s/d 1. CONSTRAINT clause menyerupai CREATE INDEX. 1. sedangkan perintah DML memungkinkan anda untuk membangun query untuk mengambil data (SELECT) dari beberapa tabel.402823E38 untuk nilai positif dan 0.79769313486232E308 SHORT LONG 2 byte untuk nilai positif. .648 dan 2.768 dan 32.647.Bab VIII Mengenal SQL Structured Query Language (SQL) adalah suatu bahasa database standar industri.5807 Menyimpan suatu nilai tanggal dan waktu antara tahun 100 s/d 9999 Menyimpan suatu nomor identifikasi unik yang digunakan untuk RPC Menyimpan suatu nilai floating point single-precision dengan jangkauan – 3.. foreignfield2)]} dimana : table field1. SQL menyediakan Data Definiton Language (DDL) dan Data Manipulation Language (DML). Menyimpan nilai Yes atau No. dan 0 Menyimpan suatu nilai short integer antara – 32. CONSTRAINT clause dapat digunakan untuk membuat berbagai batasan pada field termasuk PRIMARY KEY.685.477.483.203.402823E38 s/d – 1. Menyimpan suatu nilai floating point double-precision dengan jangkauan – 1. CONSTRAINT multifieldindex [. Menyimpan nilai integer 0 s/d 255 Menyimpan nilai numerik yang otomatis bertambah setiap record baru ditambahkan.147.685.5808 dan 922.]]) Perintah CREATE TABLE digunakan untuk mendefinisikan suatu tabel baru beserta fieldnya dan konstraint. Walaupun dalam beberapa bagian saling bersangkutan.483. Menyimpan suatu nilai skalar antara – 922. maka record baru membutuhkan data yang sah untuk field tersebut.337.477. jika NOT NULL disebutkan..401298E45 untuk nilai negatif . menyisip (INSERT) data baru. dan menghapus (DELETE). tetapi dapat digunakan untuk membuat Relation antar tabel.203. 4.94065645841247E-324 untuk nilai negatif.767.79769313486232E308 s/d DOUBLE 8 byte – 4. field2 Type size index nama tabel yang akan dibuat nama field jenis data pada masing-masing field ukuran field untuk jenis data TEXT dan Binary untuk membuat CONSTRAINT Jenis data pada database JET Jenis Data BINARY BIT BYTE COUNTER CURRENCY DATETIME GUID Ukuran Penyimpanan 1 byte per karakter 1 byte 1 byte 4 byte 8 byte 8 byte 128 byte Keterangan Menyimpan segala jenis data sebagaimana adanya tanpa translasi. . Data Definition Language (DDL) Membuat Tabel Baru CREATE TABLE table (field1 type [(size)] [NOT NULL] [index1] [.. memperbaiki (UPDATE) data.147. CONSTRAINT name {PRIMARY KEY | UNIQUE | NOT NULL | REFERENCES foreigntable [(foreignfield1.337. anda dapat juga menggunakan perintah CREATE INDEX untuk membuat index dan PRIMARY KEY pada tabel yang ada. Menyimpan suatu nilai long integer antara – 2.401298E-45 s/d 3. perintah DDL memungkinkan kita untuk membuat dan mendefinisikan tabel (CREATE TABLE). dan index (CREATE INDEX). field2 type [(size)] [NOT NULL] [index2] [.

Keterangan TEXT(50)). Nama TEXT(50). Perusahaan TEXT(50). Keterangan TEXT(50). 82 . Telepon TEXT(50). 0 s/d 255 karakter Contoh : Tabel Forum Nama Field ForumID Keterangan Alamat Type Text Text Text 25 50 50 Size AutoIncrField AllowNulls Tidak Tidak Require Ya Ya Primary Key (P_Key) dengan field ForumID Perintah SQL : CREATE TABLE FORUM ( ForumID TEXT(25) NOT NULL CONSTRAINT P_KEY PRIMARY KEY. Homepage TEXT(50). CONSTRAINT P_KEY PRIMARY KEY (ForumID)). Digunakan untuk objek OLE. Tabel Peserta Nama Field Email Nama Alamat Kota Telepon Homepage Perusahaan TanggalGabung Type Text Text Text Text Text Text Text Date 25 50 50 50 25 50 50 8 Size AutoIncrField AllowNulls Tidak Require Ya Primary Key (P_Key) dengan field Email Perintah SQL : CREATE TABLE PESERTA (Email TEXT(25) NOT NULL CONSTRAINT P_KEY PRIMARY KEY. Alamat TEXT(50).LONGTEXT LONGBINARY TEXT 1 byte per karakter Sesuai dengan kebutuhan 1 byte per karakter Kosong s/d maksimal 1. Alamat TEXT(50) NOT NULL.2 gigabytes. Tabel Status Nama Field Status Keterangan Type Byte Text 1 50 Size AutoIncrField AllowNulls Tidak Require Ya Primary Key (P_Key) dengan field Status Perintah SQL : CREATE TABLE STATUS ( Status BYTE NOT NULL CONSTRAINT P_KEY PRIMARY KEY. TanggalGabung Date).2 gigabytes. Kota TEXT(50). atau CREATE TABLE FORUM ( ForumID TEXT(25) NOT NULL . Kosong s/d maksimal 1. Keterangan TEXT(50). Alamat TEXT(50) NOT NULL).

Status BYTE CONSTRAINT AktifitasStatus REFERENCES STATUS(Status)).Tabel Aktifitas Nama Field ID Email ForumID Status Type Long Text Text Byte 4 25 25 Size AutoIncrField Ya AllowNulls Tidak Tidak Tidak Ya Ya Ya Require Primary Key (P_Key) dengan field ID Berserta Relation terhadap tabel PESERTA.. Email TEXT(25) NOT NULL CONSTRAINT AktifitasPeserta REFERENCES PESERTA(Email)..])[WITH { PRIMARY | DISALLOW NULL | IGNORE NULL }] Membuat suatu index pada tabel yang telah ada. . dimana : index table field nama dari index yang akan dibuat nama dari tabel yang akan mengandung index tersebut nama dari field yang akan di index Gunakan UNIQUE untuk membuat nilai unik terhadap field tertentu sehingga tidak memungkinkan duplikasi data. field [ASC|DESC]. FORUM dan STATUS Nama Field (Foreign key) Email ForumID Status Foreign Tabel Peserta Forum Status Email ForumID Status Foreign Field Perintah SQL : CREATE TABLE AKTIFITAS ( ID COUNTER CONSTRAINT P_KEY PRIMARY KEY. Membuat Index CREATE [ UNIQUE ] INDEX indexON table (field [ASC|DESC][. Gunakan WITH clause untuk menentukan apakah : 83 . ForumID TEXT(25) NOT NULL CONSTRAINT AktifitasForum REFERENCES FORUM (ForumID).

dihapus (DROP) Type field yang akan ditambahkan Ukuran field yang akan ditambahkan Perintah CONSTRAINT clause Nama index yang akan dihapus Contoh menambahkan field Keterangan Text(50) pada tabel aktifitas : ALTER TABLE Aktifitas ADD COLUMN Keterangan Text(50). Menambah data dengan APPEND query INSERT INTO target [(field1[.'4513490'.'Susan Dewichan'.. Contoh : KodeAnggo ta SD001 Nama Susan Dewichan Medan Alamat Jl. Thamrin No. . Alamat. Menghindarkan record dengan nilai Null pada field yang diindex untuk diikutsertakan dalam index.. Pada DML. terbagi atas APPEND. Limit. 95'. setiap tabel hanya dapat memiliki satu index PRIMARY.3. Menghapus Table atau Index DROP {TABLE table | INDEX index ON table} Menghapus tabel yang ada dalam database.. 95 Telepon Limit 451349 0 3 Daftar 23-Sept2001 Blacklist False INSERT INTO Anggota (KodeAnggota. Membuat index sebagai PRIMARY. . atau index dari suatu tabel table index nama tabel yang akan dihapus atau tabel dimana index berada nama index yang akan dihapus Contoh menghapus tabel TEMP DROP TABLE Temp.• • • Tidak memperbolehkan pemasukan nilai Null pada field yang diindex dengan menggunakan option DISALLOW NULL. Nama. Contoh membuat Index S_KEY berdasarkan Nama pada tabel PESERTA. perintah SQL DDL- nya adalah sebagai berikut : CREATE INDEX S_KEY ON PESERTA(NAMA). Telah kita ketahui bahwa perintah SQL dibagi atas dua kelompok besar yaitu DDL (Data Definition Language) dan DML (Data Manipulation Language). Telepon.]) Menambah suatu record ke table..'Jl. hal ini dikenal sebagai append query. Thamrin No.]])] VALUES (value1[. Memodifikasi Tabel ALTER 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. value2[. field2[. dan SELECT query yang dapat digunakan untuk pengolahan data. dimana : Table Field Type Size Index indexname Nama dari tabel Nama field yang akan ditambah (ADD). BlackList) VALUES ('SD001'. UPDATE. DELETE.#23-Sept-2001#). Menghapus data dengan DELETE query DELETE FROM table WHERE criteria 84 .

tidak dapat dibatalkan. Telepon. Jika anda ingin mengetahui record mana saja yang akan terupdate. Lakukan backup terhadap data anda setiap saat. Jika anda salah menghapus. anda dapat menggunakan tanda * (Asterisk) untuk menyatakan seluruh field dari tabel. Juga. Operasi Cascade delete dapat menyebabkan record lain yang berada pada sisi many ikut terhapus ketika penghapusan di lakukan terhadap data pada sisi one.Menghapus satu atau lebih record dari tabel yang berada di daftar FROM clause yang memenuhi WHERE clause. Daftar As TanggalDaftar FROM Anggota. Jika anda salah menghapus. Memperbaiki Data dengan UPDATE query Mengubah nilai pada field-field yang ditentukan pada tabel berdasarkan kriteria tertentu. Akan mendapat suatu recordset dengan field JlhAnggota dan record tunggal yang berisi jumlah anggota yang terdaftar pada tabel Anggota. Microsoft Jet Engine menggunakan nama field sebagai nama objek field pada recordset. maka anda dapat mengambil kembali dari backup. Blacklist FROM Anggota. Anda dapat menggunakan AS untuk menentukan nama objek field pada recordset yang merupakan hasil dari fungsi Agregate maupun ekspresi. Nama. Contoh : UPDATE Anggota SET BlackList = True WHERE KodeAnggota = 'SD001'. Contoh : DELETE FROM Anggota WHERE BlackList. Catatan: Data yang telah dihapus dengan delete query. Pada tabel yang memiliki hubungan one-to-many relationship dengan tabel lain. Atau SELECT * FROM Anggota. Daftar. setelah anda mengupdate record dengan menggunakan update query. · Lakukan backup terhadap data anda setiap saat. Limit. Menganti nama kolom recordset dengan reserved word AS Ketika recordset terbentuk. anda dapat menentukan nama objek field tersebut dengan reserved word AS. Contoh : SELECT Count(*) AS JlhAnggota FROM Anggota. maka anda dapat mengambil kembali dari backup. Contoh : SELECT KodeAnggota. Contoh : SELECT KodeAnggota. Mengambil Data dengan SELECT query Memerintahkan kepada Microsoft Jet Engine untuk mengembalikan data dari database dalam bentuk recordset. pertama anda perlu melakukan select query dengan kriteria yang sama. Penting :· UPDATE tidak menghasilkan suatu himpunan hasil. anda tidak dapat membatalkan operasi tersebut. Syntax : UPDATE table SET newvalue WHERE criteria. Nama. dalam hal ini nama objek field TanggalDaftar akan digunakan untuk field Daftar. Syntax yang paling minimum dari SELECT statement adalah : SELECT fields FROM table dimana fields adalah daftar dari field-field yang akan diambil dari tabel. Alamat. Membatasi hasil query dengan WHERE clause 85 .

Meringkas data dengan GROUP BY clause SELECT fieldlist FROM table WHERE 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. SUM (hasil jumlah).. anda dapat menggunakan WHERE clause untuk membatasi data yang dikembalikan berdasarkan kriteria tertentu. Sum(Denda) AS JlhDenda FROM Transaksi ORDER BY kembali. Membatasi data yang telah diringkas dengan HAVING clause SELECT fieldlist FROM table WHERE selectcriteria GROUP BY groupfieldlist [HAVING groupcriteria] 86 . Contoh : SELECT Sum(Denda) AS JlhDenda FROM Transaksi Where Kembali = #20-Sep=2001#. MIN atau MAX. . VAR atau VARP (variasi sample / populasi) untuk mendapatkan nilai statistifk field terentu. StDEV atau StDEVP (standard deviasi sample/populasi).SELECT fieldlist FROM tableexpression WHERE criteria Sebagaimana pemakaian WHERE clause pada UPDATE dan DELETE query. COUNT (jumlah data). Akan mendapat suatu recordset dengan field JlhDenda dan record tunggal yang berisi jumlah perhitungan field denda pada tanggal 20 September 2001 dari tabel Transaksi. pada defaultnya adalah Ascending kalau tidak disebutkan ASC ataupun DESC. Contoh : SELECT * FROM Anggota ORDER BY Nama. field2 [ASC | DESC ]][.. Contoh : SELECT * FROM Anggota WHERE TanggalDaftar <= #01-Jan-2001#. Mengurut hasil query dengan ORDER BY clause SELECT fieldlist FROM table WHERE selectcriteria [ORDER BY field1 [ASC | DESC ][.]]] Anda dapat menggunakan ORDER BY clause untuk menentukan urutan data hasil query berdasarkan field tertentu. Mengetahui statistik data dengan Fungsi Agregate Anda dapat menggunakan fungsi-fungsi Agregate seperti AVG (rata-rata). maka perintah SQL adalah : SELECT Kembali. Misalnya kita ingin mendapatkan suatu daftar recordset yang berisi jumlah denda harian berdasarkan tanggal pengembalian (Kembali). SELECT * FROM Anggota WHERE TanggalDaftar <= #01-Jan-2001# ORDER BY Nama.

]field2 [AS alias2] [.]field1 [AS alias1] [.. ] Mengambil kolom dari dua atau lebih tabel dengan Operasi INNER JOIN Kadang-kadang kita perlu melakukan kombinasi kolom-kolom dari beberapa tabel menjadi suatu recordset tunggal dimana yang memiliki nilai yang sama pada kolom tertentu. Syntax penulisan kongkrit dari SELECT statement SELECT [predicate] { * | table.. Menggunakan predikat ALL. DISTINCT ROW dan TOP SELECT [ALL | DISTINCT | DISTINCTROW | [TOP n [PERCENT]]] FROM table Secara default kalau tidak dituliskan. Anda dapat menggunakan predikat DISTINCT untuk mengambil satu record dari beberapa record yang memiliki nilai yang sama.... dimana yang dikembalikan hanya jumlah denda yang diatas 10000. SELECT TOP 10 KodeCD. Misalnya kita ingin mendapatkan 10 kode CD yang paling sering diTransaksi oleh Anggota...Mdb modul sebelumnya : Tabel Transaksi Type Field NoTransaksi Long Tanggal DateTime KodeAnggot Text Nama 87 . . [table.field2 Perhatikan kembali tabel-tabel pada Rental..* | [table. Count(*) FROM Transaksi GROUP BY KodeCD ORDER BY Count(*) DESC... Akan menghasilkan daftar nama Aktor dari tabel CD yang kita miliki. . maka HAVING clause digunakan untuk membatasi data setelah GROUPING dilakukan.field1 compopr table2. Contoh : SELECT DISTINCT Aktor FROM CD. pemakaian predikat DISTINCT dalam hal ini untuk memastikan hanya 1 aktor terambil dari beberapa CD yang mungkin memiliki aktor utama yang sama.Jika anda menggunakan WHERE clause untuk membatasi data hasil query berdasarkan kriteria tertentu. FROM table1 INNER JOIN table2 ON table1. ] [ORDER BY.. ] [GROUP BY. Contoh : SELECT Kembali. Mendapatkan daftar hasil jumlah denda harian.]]} FROM tableexpression [.. Pemakaian predikat TOP untuk mendapatkan n record atau n persen record dari daftar teratas. DISTINCT.] [WHERE. ] [HAVING. Sum(Denda) AS JlhDenda FROM Transaksi ORDER BY kembali HAVING Sum(Denda) > 10000. Pada operasi INNER JOIN akan mengabungkan record-record yang memiliki nilai sama pada kolom tertentu pada kedua tabel. maka predikat ALL akan digunakan.

KodeAnggota WHERE NOT Denda Is NULL. dan tabel Anggota.Nama. dimana dalam pengambilan tersebut KodeAnggota pada tabel Transaksi harus bersesuaian dengan KodeAnggota pada tabel Anggota. yaitu tabel Transaksi.KodeAnggota = Anggota. Anggota. kita perlu menuliskan nama Tabel dan Field yang dipisahkan dengan dot (.KodeAnggota = Anggota. Transaksi.Tanggal.a KodeCD Kembali Denda Tabel CD Text DateTime Currency Nama Field KodeCD Judul Kategori Aktor Harga Daftar Tabel Anggota Type Text Text Text Text Curren cy DateTi me Nama Field Type KodeAnggota Text Nama Text Alamat Text Telepon Text Limit Byte Daftar DateTime Misalnya kita ingin mengambil suatu recordset yang berisi kolom-kolom berikut : Kolom Tanggal Judul Nama Denda Tabel sumber Transaksi Transaksi Anggota Transaksi Kriteria Not Null Dalam hal ini kita akan menggambil data dari dua tabel.Denda FROM Transaksi INNER JOIN Anggota ON Transaksi. sehingga FROM clause-nya dapat ditulis menjadi : FROM Transaksi INNER JOIN Anggota ON Transaksi.KodeAnggota Sehingga Perintah SQL adalah sebagai berikut : SELECT Transaksi. Anda dapat melakukan nested untuk mengambil data lebih dari dua tabel Misalnya kita ingin mengambil suatu recordset yang berisi kolom-kolom berikut : Kolom Tanggal Judul Nama Harga Tabel sumber Transaksi CD Anggota CD Kriteria 88 . Pada perintah SELECT yang menggambil kolom lebih dari satu tabel. Transaksi.).KodeAnggota.

KodeAnggota = Anggota.Dalam hal ini kita akan menggambil data dari tiga tabel. Membuat CROSSTAB query dengan TRANSFORM statement TRANSFORM aggfunction selectstatement PIVOT pivotfield [IN (value1[.]])] Anda dapat menggunakan perintah TRANSFORM untuk membuat suatu Crosstab query yang merupakan ringkasan data yang kolomnya berasal dari field atau ekspresi. Transaksi (data transaksi sekarang). dimana dalam pengambilan tersebut KodeCD pada tabel Transaksi harus bersesuaian dengan KodeCD pada tabel CD.KodeCD =CD. sehingga FROM clause-nya dapat ditulis menjadi : FROM (Transaksi INNER JOIN Anggota ON Transaksi.KodeAnggota WHERE NOT Denda Is NULL. .. value2[..KodeAnggota) INNER JOIN CD ON Transaksi. CD. [TABLE] query1 UNION [ALL] [TABLE] query2 [UNION [ALL] [TABLE] queryn [ . CD. Anggota. dan KodeAnggota pada tabel Transaksi harus bersesuaian dengan KodeAnggota pada tabel Anggota.KodeAnggota = Anggota.KodeCD =CD.NoTransaksi.KodeAnggota = Anggota.. yaitu tabel Transaksi. Misalnya kita akan membuat ringkasan data jumlah transaksi peminjaman CD oleh masingmasing Anggota (baris) pada masing-masing bulan JAN.KodeCD =CD. RIGHT JOIN 89 .KodeCD) INNER JOIN Anggota ON Transaksi. SELECT * FROM History UNION ALL SELECT * FROM Transaksi. FEB.. Contoh : SELECT Transaksi.Nama.Judul. ]] Misalnya kita memiliki dua tabel History (data transaksi bulan lalu).Harga.KodeAnggota . atau SELECT Transaksi. dan perintah SQLnya adalah sebagai berikut : SELECT Transaksi. Anggota. Atau FROM (Transaksi INNER JOIN CD ON Transaksi.KodeCD.Denda FROM Transaksi LEFT JOIN Anggota ON Transaksi.KodeCD. kita ingin mengambil data dari dua tabel tersebut menjadi satu recordset.Tanggal.. anda dapat mencamtumkan ALL. CD.KodeAnggota = Anggota.KodeAnggota.Judul.KodeAnggota . . Anggota. (kolom) Operasi LEFT JOIN. CD.KodeAnggota = Anggota. untuk mengikutkan record yang duplikat. Transaksi.KodeAnggota) INNER JOIN CD ON Transaksi. Transaksi.KodeCD =CD.Nama FROM (Transaksi INNER JOIN CD ON Transaksi.Nama FROM (Transaksi INNER JOIN Anggota ON Transaksi. 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. Jika pada operasi INNER JOIN. Membuat union query dengan Operasi UNION Membuat suatu query union.NoTransaksi. recordset yang dihasilkan adalah data-data yang memiliki nilai yang bersesuaian pada kolom tertentu. yang mana mengabung hasil dari dua query atau tabel dengan menghilangkan record duplikat. tabel CD dan tabel Anggota.KodeCD) INNER JOIN Anggota ON Transaksi..Harga.

Maka perintahnya adalah : TRANSFORM Count(NoTransaksi) SELECT Transaksi.KodeAnggota FROM Transaksi GROUP BY Transaksi.KodeAnggota PIVOT Format([Tanggal],"mmm") In ("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");

Bab IX Memahami 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.

Mengaktifkan fasilitas Data Form Wizard
Anda 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.

90

Menjalankan Data Form Wizard
Untuk 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. 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.

Mempelajari kontrol ADODC hasil Form Wizard.
Lakukan klik kanan pada kontrol ADODC, dan pilih ADODC Properties

91

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 : select CustomerID,CompanyName,Address,City,ContactName,ContactTitle,Country,Fax,Phone,PostalCode ,Region from Customers

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 propertipropertinya : Property Value DataSource DatPrimaryRs DataField CustomerId Dalam 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. 92

adStatus As ADODB.Recordset.AbsolutePosition) End Sub  Event datPrimaryRS_WillChangeRecord.EventStatusEnum. Private Sub cmdAdd_Click() On Error GoTo AddErr datPrimaryRS.Recordset. ByVal HelpContext As Long. merupakan event yang akan dibangkitkan ketika terjadi perubahan posisi record.Caption = "Record: " & CStr(datPrimaryRS. Private Sub datPrimaryRS_WillChangeRecord(ByVal adReason As ADODB.Recordset) 'Merupakan tempat anda menempatkan kode validasi. fCancelDisplay As Boolean) 'Ini merupakan tempat anda menempatkan kode error handling MsgBox "Data error event hit err:" & Description End Sub  Event datPrimaryRS_MoveComplete. Private Sub datPrimaryRS_MoveComplete(ByVal adReason As ADODB.Private Sub datPrimaryRS_Error(ByVal ErrorNumber As Long.EventReasonEnum.Error. dan perubahan tersebut dapat dibatalkan dengan parameter adStatus.AddNew Exit Sub AddErr: MsgBox Err.EventStatusEnum. ByVal pError As ADODB. yang dapat dipelajari dari parameter adReason. Description As String. ByVal pRecordset As ADODB. ubah isi bCancel menjadi False untuk membatalkan perubahan 'Event ini akan dibangkitkan ketika terjadi hal seperti 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 = adStatusCancel End Sub  Event cmdAdd_Click. merupakan event untuk command button cmdDelete 93 . ByVal Source As String. merupakan event untuk command button cmdAdd. adStatus As ADODB.Recordset) 'Dalam hal ini akan menampilkan posisi record pada data kontrol datPrimaryRS.EventReasonEnum. ByVal cRecords As Long. ByVal Scode As Long.Description End Sub  Event cmdDelete_Click. ByVal pRecordset As ADODB. merupakan event yang akan dibangkitkan ketika akan terjadi perubahan pada record. ByVal HelpFile As String.

merupakan event untuk command button cmdClose Private Sub cmdClose_Click() Unload Me End Sub  Event Form_Unload. 94 . merupakan event untuk Form_Unload Private Sub Form_Unload(Cancel As Integer) Screen. apakah dengan ADODC atau ADO Code. merupakan event untuk command button cmdUpdate Private Sub cmdUpdate_Click() On Error GoTo UpdateErr datPrimaryRS. merupakan event untuk command button cmdRefresh Private Sub cmdRefresh_Click() 'Bagian ini dibutuhkan pada lingkungan multiuser On Error GoTo RefreshErr datPrimaryRS.MousePointer = vbDefault End Sub Memahami koding ADO melalui Data Form Wizard Pada data form wizard memberikan pilihan kepada anda jenis data binding yang akan digunakan.EOF Then .MoveLast End With Exit Sub DeleteErr: MsgBox Err.Refresh Exit Sub RefreshErr: MsgBox Err. Pada bagian ini kita akan mempelajari koding ADO.Description End Sub  Event cmdClose_Click.MoveNext If .Recordset .Private Sub cmdDelete_Click() On Error GoTo DeleteErr With datPrimaryRS.Description End Sub  Event cmdUpdate_Click.Description End Sub  Event cmdRefresh_Click.Recordset.Delete .UpdateBatch adAffectAll Exit Sub UpdateErr: MsgBox Err.

95 . maka pada project anda otomatis direference ke Microsoft ActiveX Data Objects 2. Sesuatu hal yang harus anda sadari adalah bahwa record navigator yang ada bukan merupakan suatu ADODC.0 Library Sesaat setelah frmCustomer berhasil di generate.Selanjutnya langkah wizard adalah sama dengan bagian sebelumnya. Reference ke Microsoft ActiveX Data Objects 2.0 Library. melainkan dibuat dengan menggunakan Command button dan Label.

3.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. pembukaan recordset harus didahului dengan membuka koneksi ke data provider dengan object Connection dan Connection String. Sesuatu hal yang baru disini adalah deklarasi variabel object adoPrimaryRS diawali dengan WithEvents.OLEDB. Source=C:\Program Files\Microsoft Visual 96 . Pada ADO. properti DataSource tidak disi (binding akan dilakukan secara koding pada event Form_Load). Pada VB 6.Data Studio\VB98\Nwind.mdb. 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 kita dapat mendeklarasi variabel object beserta dengan eventnya untuk object yang memiliki event (dalam hal ini ADO memiliki beberapa event yang dapat dikoding). Perhatikan Connection String yang digunakan : "PROVIDER=Microsoft. lakukan klik pada txtFields(0). sedangkan DataField berisi nama field yang akan di bound. dan menggunakan properti DataSource.0 maupun DAO. Mempelajari Koding yang dihasilkan Pada bagian General Declaration.51.Bound TextBox pada ADO Untuk mempelajari cara bound kontrol ke ADO. pada bagian ini dideklarasikan variabel-variabel yang digunakan pada form. Dim WithEvents adoPrimaryRS As Recordset Attribute adoPrimaryRS. pada bagian ini akan membuka tabel Customer (dengan SQL) sebagai recordset yang akan digunakan pada form.0 Library." Selanjutnya adalah melakukan bind masing-masing textbox ke data provider adoPrimaryRs dengan looping For Each. dan pelajari properti-propertinya : Property Value DataSource kosong (tidak diisi) DataField CustomerId Dalam hal ini. Hal ini tidak ditemui pada VB 5.Jet.

Left = cmdNext. db.Width + 700 cmdLast.Width . dalam hal ini record navigator dibuat dengan command button. dan Label.Phone. adLockOptimistic Dim oText As TextBox 'Bind masing-masing textbox ke data provider For Each oText In Me. Private Sub Form_KeyDown(KeyCode As Integer. vbKeyPageDown 97 'Mempersiapkan variabel object Connection .Width = Me.City.1500 cmdNext.OLEDB.CursorLocation = adUseClient db.Fax.Country.3.CompanyName.mdb.Jet.Data Source=C:\Program Files\Microsoft Visual Studio\VB98\Nwind.Open "select Address.ContactTitle. pada bagian ini akan dibangkitkan event-event yang bersesuaian dengan penekanan tombol oleh pemakai pada form aktif.For Each oText In Me.DataSource = adoPrimaryRS Next mbDataChanged = False End Sub Pada Event Form Resize.Region from Customers". adOpenStatic.PostalCode .Left = lblStatus.CustomerID. pada bagian ini dilakukan pengaturan ukuran record navigator yang disesuaikan dengan ukuran form. 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.Left + 340 End Sub Pada Event Form KeyDown." Set adoPrimaryRS = New Recordset adoPrimaryRS.txtFields Set oText.Open "PROVIDER=Microsoft.ContactName.51.DataSource = adoPrimaryRS Next Private Sub Form_Load() Dim db As Connection Set db = New Connection db. vbKeyPageUp If Shift = vbCtrlMask Then cmdFirst_Click Else cmdPrevious_Click End If Case vbKeyDown.txtFields Set oText. Private Sub Form_Resize() On Error Resume Next lblStatus.

ByVal pRecordset As ADODB.EventReasonEnum. Private Sub cmdAdd_Click() On Error GoTo AddErr With adoPrimaryRS If Not (.Caption = "Record: " & CStr(adoPrimaryRS.BOF And . event ini akan dibangkitkan setelah perubahan posisi record.Error.Recordset) 'This will display the current record position for this recordset lblStatus.EventReasonEnum. adStatus As ADODB.EventStatusEnum. Private Sub adoPrimaryRS_MoveComplete(ByVal adReason As ADODB. ByVal cRecords As Long.Caption = "Add record" 98 . adStatus As ADODB.AbsolutePosition) End Sub Pada Event adoPrimaryRS_WillChangeRecord. Event ini bekerja pada object adoPrimaryRS yang dideklarasikan dengan WithEvents. merupakan event untuk command button cmdAdd.If Shift = vbCtrlMask Then cmdLast_Click Else cmdNext_Click End If End Select End Sub Pada Event adoPrimaryRS_MoveComplete. ByVal pRecordset As ADODB.EOF) Then mvBookMark = .AddNew lblStatus.EventStatusEnum.Recordset) 'This is where you put validation code 'This event gets called when the following actions occur 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 = adStatusCancel End Sub Event cmdAdd_Click.Bookmark End If . Private Sub adoPrimaryRS_WillChangeRecord(ByVal adReason As ADODB. event ini akan dibangkitkan sesaat terjadi perubahan isi record. ByVal pError As ADODB.

Requery Exit Sub RefreshErr: MsgBox Err.mbAddNewFlag = True SetButtons False End With Exit Sub AddErr: MsgBox Err.EOF Then .Description End Sub Event cmdEdit_Click.Bookmark = mvBookMark Else 99 . merupakan event untuk command button cmdEdit Private Sub cmdEdit_Click() On Error GoTo EditErr lblStatus.Description End Sub Event cmdDelete_Click.Caption = "Edit record" mbEditFlag = True SetButtons False Exit Sub EditErr: MsgBox Err. merupakan event untuk command button cmdDelete Private Sub cmdDelete_Click() On Error GoTo DeleteErr With adoPrimaryRS .Description End Sub Event cmdRefresh_Click.Delete .MoveLast End With Exit Sub DeleteErr: MsgBox Err.MoveNext If . merupakan event untuk command button cmdRefresh Private Sub cmdRefresh_Click() 'This is only needed for multi user apps On Error GoTo RefreshErr adoPrimaryRS.CancelUpdate If mvBookMark > 0 Then adoPrimaryRS.Description End Sub Private Sub cmdCancel_Click() On Error Resume Next SetButtons True mbEditFlag = False mbAddNewFlag = False adoPrimaryRS.

MoveFirst End If mbDataChanged = False End Sub Event cmdUpdate_Click. merupakan event untuk command button cmdFirst Private Sub cmdFirst_Click() On Error GoTo GoFirstError adoPrimaryRS. merupakan event untuk command button cmdLast Private Sub cmdLast_Click() On Error GoTo GoLastError adoPrimaryRS.Description End Sub Event cmdClose_Click.adoPrimaryRS. merupakan event untuk command button cmdClose Private Sub cmdClose_Click() Unload Me End Sub Event cmdFirst_Click.MoveFirst mbDataChanged = False Exit Sub GoFirstError: MsgBox Err.MoveLast mbDataChanged = False Exit Sub GoLastError: MsgBox Err.Description End Sub 'move to the new record 100 .MoveLast End If mbEditFlag = False mbAddNewFlag = False SetButtons True mbDataChanged = False Exit Sub UpdateErr: MsgBox Err.UpdateBatch adAffectAll If mbAddNewFlag Then adoPrimaryRS. merupakan event untuk command button cmdUpdate Private Sub cmdUpdate_Click() On Error GoTo UpdateErr adoPrimaryRS.Description End Sub Event cmdLast_Click.

Visible = bVal cmdClose.RecordCount > 0 Then Beep 'moved off the end so go back adoPrimaryRS.Visible = bVal cmdRefresh.MousePointer = vbDefault 101 .MoveFirst End If 'show the current record mbDataChanged = False Exit Sub GoPrevError: MsgBox Err.Description End Sub Private Sub SetButtons(bVal As Boolean) cmdAdd. Private Sub Form_Unload(Cancel As Integer) Screen.RecordCount > 0 Then Beep 'moved off the end so go back adoPrimaryRS.Enabled = bVal cmdFirst.Visible = bVal cmdEdit.Visible = Not bVal cmdCancel.Enabled = bVal End Sub Event Form_Unload.MovePrevious If adoPrimaryRS. merupakan event yang akan dibangkitkan ketika form di buang dari memori.EOF Then adoPrimaryRS.Description End Sub Event cmdPrevious_Click.Event cmdNext_Click.BOF And adoPrimaryRS.Visible = bVal cmdUpdate. merupakan event untuk command button cmdPrevious Private Sub cmdPrevious_Click() On Error GoTo GoPrevError If Not adoPrimaryRS.EOF And adoPrimaryRS.BOF Then adoPrimaryRS. merupakan event untuk command button cmdNext Private Sub cmdNext_Click() On Error GoTo GoNextError If Not adoPrimaryRS.Enabled = bVal cmdLast.Visible = bVal cmdNext.MoveNext If adoPrimaryRS.Visible = Not bVal cmdDelete.Enabled = bVal cmdPrevious.MoveLast End If 'show the current record mbDataChanged = False Exit Sub GoNextError: MsgBox Err.

End Sub 102 .

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->