• Tidak ada hasil yang ditemukan

PENGGUNAAN KONTROL ARRAY Apa itu Kontrol Array ?

Kontrol array merupakan sekumpulan kontrol yang “dikelompokkan” dengan nama yang sama di dalam sebuah Form. Kontrol array digunakan bila ada beberapa kontrol yang sama dan akan mendapat perlakuan yang sama pula. Misalnya, ada 5 buah TextBox di dalam sebuah Form dan akan deprogram dengan cara yang sama, maka akan lebih mudah jika membuat sebuah TextBox sebagai kontrol array dibandingkan bila membuat 5 buah TextBox yang berbeda. Setiap object di dalam kontrol array masingmasing dibedakan dengan nomer indeksnya.

Membuat Kontrol Array

Untuk membuat kontrol array (misalnya TextBox) sebanyak 5 buah di dalam sebuah form, lakukan langkah berikut ini :

1. Buatlah sebuah TextBox di dalam sebuah Form. 2. Aturlah property TextBox tersebut sebagai berikut :

Name : txtData Index : 0 (nol)

Perhatikan : kontrol TextBox-nya akan menjadi object txtData(0) (lihat bagian Object Selector pada Jendela Properties).

3. Klik object txtData(0) pada Form, kemudian klik tombol Copy pada bagian Toolbar.

4. Untuk membuat TextBox kedua, klik tombol Paste pada bagian Toolbar. TextBox kedua akan muncul di pojok kiri Form sebagai object txtData(1), aturlah posisinya di dalam Form.

5. Lakukan langkah ke-4 di atas sebanyak 4 kali (sesuai dengan jumlah TextBox yang dibutukan). 6. Di dalam Form akan ada 5 buah TextBox dengan nama yang sama (yaitu txtData) dan

masingmasing menjadi object txtData yang dibedakan nomer indexnya (mulai dari 0 s/d 4).

Selanjutnya object-object yang dibuat dengan kontrol array bisa diprogram dengan lebih mudah. Misalnya untuk “mengosongkan” object txtData, bisa menggunakan struktur kontrol For…Next : For i = 0 To 4

txtData(i).Text = “”

Next i

Cara ini lebih mudah bila dibandingkan cara “konvensional” berikut :

Text1.Text = “” Text2.Text = “” …

Text4.Text = “”

Contoh Program : Kalkulator Aktifkan VB 6 melalui tombol Start. Tambahkan Form baru ke dalam Project. Pada Jendela Form buatlah UI seperti ini :

Pengaturan property setiap object-nya adalah sebagai berikut :

Buat kontrol array dari cmdAngka (sebanyak 10 buah) dan dari cmdOperator (sebanyak 3 buah). Kemudian atur property caption masing-masing sebagai berikut:

Buka Jendela Code dan pada bagian Code Editor, lalu ketikkan kode programnya sebagai berikut : Dim angka(1 To 2) As Single

Dim operator As String

Private Sub cmdAngka_Click(Index As Integer) Text1.Text = Text1.Text & cmdAngka(Index).Caption End Sub

Private Sub cmdOperator_Click(Index As Integer) If Text1.Text = "" Then Exit Sub

angka(1) = CSng(Text1.Text)

operator = cmdOperator(Index).Caption Text1.Text = ""

End Sub

Private Sub cmdHitung_Click() Dim hasil As Single

If Text1.Text = "" Then Exit Sub angka(2) = CSng(Text1.Text) Select Case operator

Case "+"

hasil = angka(1) + angka(2) Case "-"

hasil = angka(1) - angka(2) Case "*"

hasil = angka(1) * angka(2) Case "/"

hasil = angka(1) / angka(2) End Select

Text1.Text = hasil End Sub

Private Sub cmdHapus_Click() Text1.Text = ""

End Sub

Coba jalankan Project1 :

Box Penjelasan kode program :

Dim angka(1 To 2) As Single Dim operator As String

Private Sub cmdAngka_Click(Index As Integer)

Text1.Text = Text1.Text & _

Deklarasi variabel-variabel global

Bila user meng-klik salah satu cmdAngka :

Tampilkan angka pada Text1 sesuai dengan caption cmdAngka yang di-klik

cmdAngka(Index).Caption End Sub

Private Sub cmdOperator_Click(Index As _

Integer)

If Text1.Text = "" Then Exit Sub angka(1) = CSng(Text1.Text) operator = cmdOperator(Index). Caption Text1.Text = "" End Sub

Private Sub cmdHitung_Click() Dim hasil As Single

If Text1.Text = "" Then Exit Sub

angka(2) = CSng(Text1.Text) Select Case operator

Case "+"

hasil = angka(1) + angka(2) Case "-"

hasil = angka(1) - angka(2) Case "*"

hasil = angka(1) * angka(2) Case "/"

hasil = angka(1) / angka(2) End Select

Text1.Text = hasil End Sub

Private Sub cmdHapus_Click() Text1.Text = ""

End Sub

Perhatikan : setiap event object yang dibuat dengan kontrol array mempunyai keterangan Index yang menunjukkan nomer index object yang menerima event tersebut.

Bila user meng-klik salah satu cmdOperator : Cek apakah Text1 kosong, bila True maka proses tidak perlu dilanjutkan

Konversi isi Text1 menjadi Single, lalu simpan ke Simpan caption cmdOperator yang di-klik ke dalam variabel operator (sebagai tanda operasi penghitungan) Kosongkan Text1

Bila user meng-klik cmdHitung : Deklarasi variabel lokal

Cek apakah Text1 kosong, bila True maka proses tidak perlu dilanjutkan

Konversi isi Text1 menjadi Single, lalu simpan ke Lakukan penghitungan sesuai dengan isi variabel operator dan hasil penghitungan disimpan dalam variabel hasil :

Operasi penjumlahan Operasi pengurangan Operasi perkalian Operasi pembagian

Tampilkan hasil penghitungan pada Text1

Bila user meng-klik cmdHapus : Kosongkan Text1

Catatan :

BAB X

Prosedur dan Fungsi

Ada dua macam subrutin pada visual basic yang sering dipergunakan, yaitu prosedur dan fungsi. Kedua jenis subrutin ini memiliki kegunaan yang sama, yaitu melakukan tugas tertentu. Perbedaannya fungsi selalu mengembalikan suatu nilai setelah dipanggil sedangkan prosedur tidak.

Kita memerlukan subrutin karena dalam program yang besar, akan lebih baik jika tugas tertentu dilakukan oleh subrutin tertentu. Dengan demikian program menjadi lebih mudah dibaca. Disamping mudah dibaca, pelacakan kesalahan program juga menjadi lebih mudah. Apabila terjadi kesalahan dalam pembacaan data, kita bisa memusatkan perhatian pada subrutin tertentu.

Dengan kata lain bahwa baik procedure maupun fungsi merupakan sub program yang dapat dipannggil dari sub rutin yang lain. Tergantung pendeklarasiannya. Jenis deklarasi dapat dibagi dalam dua jenis yaitu private dan public.

Sebagai contoh buatlah sebuah program berikut:

Public Function TestKey(aKey As Integer, keyNumbers As Boolean, keySpace As Boolean, keyPoint As Boolean) As Integer 'Huruf Besar

If aKey > 64 And aKey < 91 Then TestKey = aKey

'Huruf kecil

ElseIf aKey > 96 And aKey < 123 Then TestKey = aKey

'Angka

ElseIf (aKey > 47 And aKey < 58) And keyNumbers = True Then TestKey = aKey

'Titik

ElseIf aKey = 46 And keyPoint = True Then TestKey = aKey

'Spasi

ElseIf aKey = 32 And keySpace = True Then TestKey = aKey

Else

TestKey = 0 End If

Sub Bersih() Text1.Text = "" End Sub

Private Sub cmdBersih_Click() Bersih

End Sub

Private Sub cmdTutup_Click() Unload Me

End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer) KeyAscii = TestKey(KeyAscii, True, True, True) End Sub

BAB XI Menu

Dalam sebuah aplikasi biasa kita menemukan yang namanya menu. Menu adalah daftar sub fungsi yang terdapat dalam sebuah aplikasi. Seperti dalam aplikasi word processor (contoh:Microsoft Word), kita akan menemukan beberapa menu FILE, EDIT, VIEW dan seterusnya. Menu dikelompokan berdasarkan jenisnya menjadi dua, yaitu MDI dan SDI.

MDI kepanjangan dari Multiple Document Interface. Di dalam aplikasi MDI, lebih dari satu dokumen (child window) yang dapat dibuka pada satu jendela induk. Penggunaan MDI banyak terdapat pada aplikasi seperti spreadsheet atau pengolah kata – satu jendela sebagai MDI container / induk MDI, yang terdiri jendela-jendela yang lain, biasanya disebut child forms atau form anak. Setiap aplikasi MDI biasanya terdiri dari tiga komponen dasar yaitu :

1. Satu (dan hanya satu) MDI container form induk. 2. Satu atau lebih (biasanya lebih) form MDI child. 3. Menu utama MDI.

Aplikasi MDI dibuat untuk melayani banyak file yang akan ditampilkan pada 1 form program.

SDI / Single Document Interface yaitu sebuah aplikasi yang terdiri dari satu form dan hanya dapat membuka satu dokumen saja sehingga ketika ingin membuka file lain maka file sebelumnya harus ditutup terlebih dahulu. Sebagai contoh sederhana jika anda menggunakan NotePad, anda hanya dapat membuka 1 teks dokumen saja, karena NotePad bukan aplikasi MDI tetapi aplikasi SDI. Tetapi jika anda membuka Word Processor anda dapat mendapatkan jendela anak dari jendela utama, karena aplikasi tersebut menggunakan MDI application.

Struktur teknik dari sebuah aplikasi MDI adalah sebagai berikut : 1. Jendela utama aplikasi adalah sebuah frame atau sebuah container.

2. Jendela khusus yang dinamakan MDI client, meliputi seluruh area client dari frame yang dilengkapi dengan kemampuan – kemampuan khusus khusus. Misalnya MDI client menangani sejumlah jendela anak.

3. Sejumlah jendela anak yang tipenya sama atau berbeda. Jendela anak tersebut tidak langsung ditempatkan di frame tetapi didefinisikan sebagai sebuah anak dari jendela MDI Client, selanjutnya sebagai anak dari frame.

Untuk menangani menu Window kita memakai beberapa method dan properti :

1. Method Cascade, untuk menyusun jendela anak dalam bentuk Cascade. Jendela anak diatur mulai dari ujung kiri atas frame, dan bergerak ke ujung kanan bawah. Jendela akan saling tumpang tindih.

2. Prosedure Tile, untuk menyusun jendela anak dalam bentuk Tile sehingga tidak saling tumpang tindih. Are frame (form utama) dibagi sama rata untuk setiap jendela anak, sehingga semua jendela dapat ditampilkan di layar. Tipe defaultnya adalah horizontal. Tipe ini diubah dengan property TileMode.

3. Property TileMode, menyatakan tipe tile. Ada dua pilihan yaitu tbHorizontal dan tbVertical. 4. Prosedure Arrangelcons, untuk mengatur jendela anak yang diminimisasi, mulai dari kiri bawah

jendela utama, dan bergerak ke kanan atas.

5. Properti ActiveMDIChild adalah property run-time dan read only. Properti ini menyatakan jendela anak yang aktif. Nilainya dapat diubah dengan program atau dengan memilih sebuah jendela anak.

6. Properti MDIChildCount, sebuah nilai berisi banyaknya jendela anak yang ada.

7. Properti MDIShildren, sebuah array yang berisi jendela anak, Anda dapat memakai properti ini bersama – sama dengan properti MDIChildCount untuk menelusuri jendela anak.

8. Properti WindowState, menyatakan tampilan form di layar. Ada tiga pilihan yaitu wsNormal (default), wsMinimized dan wsMaximized.

PRAKTIKUM

Object Properties Setting

Form1 Name Caption MDIChild Form1 True

MDIForm Name MDIForm

MenuEditor Name Caption

MnBaru &Baru Selanjutnya ini contoh untuk MDIForm

Private Sub mnBaru_Click() Static jmlDox As Long Dim Frm_D As Form1 Set Frm_D = New Form1 jmlDox = jmlDox + 1

Frm_D.Caption = "Lembar " & jmlDox Frm_D.Show Form1.WindowState = 2 'maximized Form1.Text1.Height = Form1.Height Form1.Text1.Width = Form1.Width End Sub

Source ini untuk di Form1 Private Sub Form_Load()

Text1.Top = 0 Text1.Left = 0 Resise

Private Sub Form_Resize() Resise

End Sub

Private Sub resise()

Text1.Height = Form1.Height Text1.Width = Form1.Width End Sub

--- o selesai o --- Daftar Referensi

1. Faizal, Edi,dkk., 2003, Pemrograman Visual, Universitas Ahmad Dahlan,Yogyakarta. 2. Kurniadi, A., 2000, Pemrograman Microsoft Visual Basic 6, Elex Media Komputindo, Jakarta. 3. Internet dan semua media yang mengulas tentang perkembangan teknologi kecerdasan buatan

Dokumen terkait