Bab |
Tatasusunan |
7 |
Selepas mengikuti bab ini anda dapat :
1) Mencipta tatasusunan
2) Mengguna tatasusunan untuk membina item dalam ComboBox
3) Menginput data dari fail ke dalam tatasusunan
Tatasusunan adalah sejenis pembolehubah yang boleh menyimpan lebih dari satu data bagi setiap pembolehubah. Misalnya anda mencipta pembolehubah “Nama” untuk menyimpan nama pelajar. Hanya seorang pelajar sahaja boleh disimpan dalam pembolehubah tersebut. Jika anda hendak menyimpan lebih daripada seorang pelajar maka perlulah anda isytiharkan pemboleh ubah “Nama” ini sebagai tatasusunan.
Rajah 7.1 di bawah menunjukkan bagaimana data disimpan dalam tatasusunan.
Nama
Nama(0) |
Ahmad |
Nama(1) |
Chong |
Nama(2) |
Raju |
Nama(3) |
Jamilah |
Rajah 7- 1
Dalam rajah 7.1 di atas Pembolehubah “Nama” dibahagikan kepada lokasi Nama(0) yang menyimpan “Ahmad”, Nama(1) manyimpan “Chong” dan seterusnya Nama(3) menyimpan “Jamilah”. Angka 0 hingga 3 dipanggil indeks bagi tatasusunan Nama.
Pembolehubah tatasusunan “Nama” di atas diisytiharkan seperti di bawah
Dim Nama(4) As String
‘Jumlah 4 nama yang boleh disimpan
Untuk menyimpan nombor katakan markah anda boleh isytiharkan seperti berikut::
Dim Markah(30) As Integer
‘Jumlah 30 markah boleh disimpan
Dalam contoh ini anda akan membina satu ComboBox yang mengandungi empat barangan iaitu Buku Nota, Pensil Warna, Pensil dan Pen.
1. Bina satu antaramuka (form) berdasarkan Jadual 7-2 dan Rajah 7-2 di bawah:
Object |
Properties |
|
Form |
Name |
frmBarang |
Caption |
Harga Barangan |
|
ComboBox |
Name |
cboBarang |
Text |
(Tiada) |
|
Label |
Name |
lblBarang |
Caption |
Nama Barangan |
Jadual 7 – 2
2. Dwiklik pada tetingkap Form frmBarang. Tetingkap kod muncul seperti Rajah 7-3.
Rajah 7- 3
3. Taipkan aturcara berikut dalam prosedur Form_Load()
Option Explicit
Dim Barang(4) As String
Private Sub Form_Load()
Dim i As Integer
'Memasukkan nama barang ke dalam Pembolehubah Barang
Barang(0) = "Buku Nota"
Barang(1) = "Pensil Warna"
Barang(2) = "Pensil"
Barang(3) = "Pen"
For i = 0 To 3
cboBarang.AddItem Barang(i)
Next i
End Sub
4. Laksanakan aturcara tersebut. Tetingkap akan kelihatan seperti Rajah 7-4:
5. Klik ComboBox untuk melihat senarai barang.
6. Simpan projek dan form anda dengan nama Barang.
Arahan Dim Barang(4) As String bertujuan mengarahkan komputer menyediakan 4 sel (lokasi) pada pemboleh ubah Barang iaitu Barang(0) hingga Barang(3).
Pengisytiharan ini pula dibuat di luar prosedur Form_Load() agar pembolehubah ini juga dikenali dalam prosedur lain selain prosedur Form_Load().
Berikutnya sel-sel ini diumpukkan dengan nilai melalui arahan:
Barang(0) = "Buku Nota"
Barang(1) = "Pensil Warna"
Barang(2) = "Pensil"
Barang(3) = "Pen"
Seterusnya kandungan pembolehubah pada indeks 0 hingga 3 akan dimasukkan ke dalam ComboBox melalui arahan
For i = 0 To 3
cboBarang.AddItem Barang(i)
Next i
1. Buka fail Barang yang anda cipta dalam aktiviti 1.
2. Ubahsuai frmBarang dengan memasukkan textbox di sebelah ComboBox.
3. Masukkan label Harga seperti Rajah 7-5.
4. Tetapkan properties TextBox tersebut seperti di bawah
Name : txtHarga
Text : (Tiada).
5. Dwiklik Form FrmBarang. Tambah aturcara yang ditebalkankan (bold) seperti di bawah:
Option Explicit
Dim Barang(4) As String
Dim
Harga(4) As Double
Private Sub Form_Load()
Dim i As Integer
'Memasukkan nama barang ke dalam Pembolehubah Barang
Barang(0) = "Buku Nota"
Barang(1) = "Pensil Warna"
Barang(2) = "Pensil"
Barang(3) = "Pen"
Harga(0) =
0.75
Harga(1) =
3.5
Harga(2) =
2.25
Harga(3) =
10.15
For i = 0 To 3
cboBarang.AddItem Barang(i)
Next I
End Sub
6. Klik menu View, Object untuk memaparkan form di atas
7. Dwiklik ComboBox dan taipkan aturcara berikut dalam prosedur seperti di bawah:
Private Sub CboBarang_Click()
Dim i As Integer
i = cboBarang.ListIndex
TxtHarga.Text = Harga(i)
End Sub
8. Simpan aturcara anda.
9. Laksanakan aturcara di atas.
Semasa anda klik item pertama pada ComboBox pembolehubah i akan mengambil nilai 0 berdasarkan arahan i = cboBarang.ListIndex dalam aktiviti 7 di atas.
Seterusnya pembolehubah Harga akan merujuk kepada Harga(0) di mana nilainya ialah 0.75 seperti mana aturcara dalam aktiviti 5.
Berikutnya TextBox bernama TextHarga akan memaparkan kandungan Harga(0) berdasarkan arahan txtHarga.Text = Harga(i)
1. Buka perisian NotePad.
2. Taip nama barang dan harga seperti dalam Rajah 7-6.
Rajah 7- 6
3. Simpan fail anda dengan nama Barang.txt dalam folder bersama-sama fail-fail aturcara di atas. Tutup aplikasi notepad.
4. Balik ke Visual Basics dan dwiklik frmBarang dan ubahsuai aturcara yang ada dengan arahan yang ditebalkan di bawah.
Private Sub Form_Load()
Dim i As Integer
'Memasukkan nama barang ke dalam Pembolehubah Barang
Open
"c:\KursusVB\Harga.txt" For Input As #1
For i = 0
To 3
Input #1,
Barang(i), Harga(i)
Next i
For i = 0 To 3
cboBarang.AddItem Barang(i)
Next i
End Sub
5. Klik menu File, Save Project As. Simpan fail anda dengan nama Barang2.vbp untuk menyimpan projek anda dengan nama baru.
6. Klik menu File, Save Barang.frm As untuk menyimpan form dengan nama baru.. Beri nama form baru dengan Barang2.frm
7. Laksanakan aturcara anda. Anda akan dapati kandungan ComboBox sudah berubah.
Dalam aturcara baru ini arahan Open "c:\kursusVB\Harga.txt" For Input As #1 mengarahkan komputer membuka fail “c:\KursusVB\Harga.txt” bagi tujuan menginput data dari fail tersebut pada saluran 1.
Arahan Input #1, Barang(i), Harga(i) pada baris berikutnya mengarahkan mengambil data dari saluran 1 (iaitu data dari Harga.txt) untuk dimasukkan ke dalam pembolehubah Barang dan Harga dari item 0 hingga 3.
1. Dalam aktiviti 2 anda telah memasukkan item ke dalam ComboBox dari kod sumber. Manakala dalam aktiviti 3 pula item dimasukkan dari fail text. Apakah kelebihan menggunakan kaedah dalam aktiviti 3 berbanding kaedah dalam aktiviti 2.
2. Merujuk kepada langkah 5 dalam Aktiviti 2, adakah ComboBox akan memaparkan item jika pengisytiharan tatasusunan dibuat dalam prosedur Form_load () seperti di bawah?
Private Sub Form_Load()
Dim Barang(4) As String
Dim Harga(4) As Double
Dim i As Integer
'Memasukkan nama barang ke dalam Pembolehubah Barang
Barang(0) = "sebuah Buku Nota"
Barang(1) = "1 kotak Pensil Warna"
Barang(2) = "1 Dozen Pensil"
Barang(3) = "1 batang Pen"
Harga(0) = 0.75
Harga(1) = 3.5
Harga(2) = 2.25
Harga(3) = 10.15
For i = 0 To 3
cboBarang.AddItem Barang(i)
Next i
End Sub
Private Sub cboBarang_Click()
Dim i As Integer
i = cboBarang.ListIndex
TxtHarga.Text = Harga(i)
End Sub
Seterusnya adakah TextBox bernama TxtHarga akan memaparkan nilai harga yang terdapat dalam pembolehubah tatasusunan Harga? Jelaskan.
1. Ubahsuai aturcara di atas untuk membina antara muka seperti di bawah bagi mengira jumlah harga barang jika dimasukkan kuantiti barangan tersebut.
2. Arahan di bawah bertujuan memasukkan imej buku.jpg ke dalam PictureBox yang bernama PicBuku.
Picture1.Picture = LoadPicture("c:\KursusVB\buku.jpg")
Ubahsuai aturcara dalam aktiviti 3 agar apabila pengguna klik ComboBox untuk memilih barang, komputer akan memaparkan harga dan juga gambar barangan tersebut.