bab 10 kawalan, tatasusunan dan string

Upload: ahmad-anas

Post on 11-Jul-2015

137 views

Category:

Documents


0 download

TRANSCRIPT

VISUAL BASIC KAWALAN, TATASUSUNAN DAN STRING

UNIT 2 BAB 10

BAB 10

KAWALAN, TATASUSUNAN DAN STRING

PENGENALANApa khabar? Bagaimana dengan pembacaan anda pada bab sebelum ini? Diharapkan anda sentiasa mengulang kaji bab-bab terdahulu terutamanya Bab 9 sebelum meneruskan Bab 10 ini. Seperti biasa dalam mana-mana pengaturcaraan, penggunaan arahan kawalan seperti arahan pilihan dan ulangan amat penting untuk melaksanakan perintah secara automatik. Tatasusunan dan string pula amat berguna apabila anda ingin memanipulasikan paparan kepada pengguna. Macam biasa sila pastikan komputer anda juga bersedia dengan perisian VB.

OBJEKTIFDi akhir bab ini anda seharusnya dapat: 1. menerangkan dua bentuk arahan kawalan berserta perkataan simpanan yang patut digunakan; 2. mengaplikasikan konsep tatasusunan dalam form; dan 3. mengisytihar dan memanipulasikan string dengan empat operasi yang diberi.

10.1

KAWALAN DALAM VB6

Mahu atau tidak, anda perlu boleh mengawal atur cara anda sendiri supaya atur cara anda dapat memberikan hasil yang terbaik. Dalam VB6 disediakan pelbagai jenis kawalan untuk anda laksanakan iaitu pilihan dan ulangan atau gelung. Pemilihan kawalan bergantung kepada bentuk masalah yang ingin diselesaikan dan keselesaan anda menggunakannya.

10.1.1

Pilihan

Arahan kawalan yang pertama diperkenalkan adalah arahan pilihan. Arahan pilihan adalah arahan yang menentukan pergerakan arahan atur cara berdasarkan kepada syarat yang diberikan. Jika syarat dipenuhi maka pernyataan dilaksanakan, jika tidak, pernyataan tersebut diabaikan. Terdapat tiga jenis pilihan yang boleh dilaksanakan iaitu satu pilihan, dua pilihan dan tiga atau lebih pilihan. Dalam Jadual 10.1 ditunjukkan sintaks pilihan, maksudnya dan contoh atur cara.

92

OUM

UNIT 2 BAB 10

VISUAL BASIC KAWALAN, TATASUSUNAN DAN STRING Jadual 10.1: Tiga Jenis Arahan Pilihan

Perkataan yang ditebalkan adalah perkataan simpanan yang berfungsi untuk membentuk arahan pilihan. Selain daripada arahan dalam Jadual 10.1, VB6 juga menyediakan kemudahan menulis pilihan jenis dua pilihan yang lebih ringkas iaitu IIf. Sintaksnya seperti berikut: IIf(syarat, pernyataan untuk benar, pernyataan untuk palsu)

OUM

93

VISUAL BASIC KAWALAN, TATASUSUNAN DAN STRING

UNIT 2 BAB 10

Contohnya:

x akan menyimpan nilai Lulus jika markah melebihi 40 dan Gagal jika nilai kurang daripada 40. Untuk pilihan yang lebih daripada tiga, selain daripada menggunakan arahan IF Then, alternatifnya adalah menggunakan pilihan bentuk Case. Sintaks, maksudnya dan contoh aturcaranya adalah seperti Jadual 10.2.Jadual 10.2: Sintaks, Maksud dan Contoh Atur Cara untuk Case

94

OUM

UNIT 2 BAB 10

VISUAL BASIC KAWALAN, TATASUSUNAN DAN STRING

10.1.2

Contoh Penggunaan Pilihan

Pertimbangkan masalah berikut: Menentukan kelayakan bayaran cukai pendapatan dengan menginputkan gaji bulanan. Kelayakan bayaran cukai pendapatan berdasarkan pendapatan gaji tahunan melebihi RM 18,000.00.

Cara Perlaksanaan Bina satu form dan namakan frmCukai. Bina antara muka frmCukai tersebut seperti Rajah 10.1. (Anda diminta cuba jawab dahulu Latihan 10.1 untuk menguji kemahiran anda.)

Rajah 10.1: Antara muka Form frmCukai

OUM

95

VISUAL BASIC KAWALAN, TATASUSUNAN DAN STRING

UNIT 2 BAB 10

Formula: Jumlah Gaji Tahunan = Gaji Bulanan * 12 Untuk menentukan sama ada syarat kelayakan dipenuhi atau tidak maka algoritmanya adalah seperti berikut: Jika Jumlah Gaji Tahunan > RM18,000.00 maka Anda dikenakan cukai Sebaliknya Anda dikecualikan cukai

Latihan 10.1Suaikan nombor-nombor pada Rajah 10.1 dengan objek-objek yang disenaraikan seperti berikut: 1 2 3 4 5 6 7 8 txtGajiThn lblKeputusan txtGaji lblKeputusan Cukai lblGajiThn lblGaji cmdKira cmdKeluar

Kod atur cara untuk acara klik bagi objek butang kawalan Kira adalah:

Private Sub cmdKira_Click() txtGajiThn.Text = txtGaji.Text * 12 If (txtGajiThn.Text > 18000) Then lblKeputusanCukai.Caption = "Anda dikenakan cukai pendapatan." Else lblKeputusanCukai.Caption = "Anda dikecualikan dari cukai pendapatan." End If End Sub

96

OUM

UNIT 2 BAB 10

VISUAL BASIC KAWALAN, TATASUSUNAN DAN STRING

Latihan 10.21. 2. Selain daripada menggunakan acara klik pada butang Kira, nyatakan acara lain yang boleh digunakan supaya mendapat hasil yang sama. Bina satu atur cara supaya apabila diklik butang Keluar, satu mesej kepastian dipaparkan iaitu sama ada anda ingin menamatkan aplikasi atau tidak. Jika tekan butang Yes maka aplikasi akan tamat sebaliknya jika tekan No aplikasi tidak tamat.

Cuba kita perhalusi syarat kelayakan bayaran cukai. Sekiranya anda dikenakan bayaran cukai, andaikan formula bayaran adalah seperti Jadual 10.3.Jadual 10.3: Formula Bayaran Cukai Mengikut Jumlah Gaji Tahunan

Oleh itu untuk menyelesaikan masalah ini, kita mempunyai 4 pilihan formula untuk mengira nilai cukai yang perlu dibayar. Algoritma untuk mengira nilai cukai adalah seperti berikut: Jika Jumlah Gaji Tahunan > RM50,000 maka cukai = 1150 + 0.035*(Jumlah Gaji Tahunan 50000) Sebaliknya jika Jumlah Gaji Tahunan > RM20,000 maka cukai = 400 + 0.025*(Jumlah Gaji Tahunan 20000) Sebaliknya jika Jumlah Gaji Tahunan > RM18,000 cukai = 0.02* Jumlah Gaji Tahunan Sebaliknya cukai = 0 Dengan menggunakan antara muka yang sama seperti Rajah 10.1, ubahsuai atur cara pada butang kira mengikut algoritma di atas. Maka kod atur cara adalah seperti berikut:

OUM

97

VISUAL BASIC KAWALAN, TATASUSUNAN DAN STRING

UNIT 2 BAB 10

Latihan 10.3Ubahsuai atur cara di atas dengan menggunakan arahan Case.

10.1.3

Ulangan

Arahan kawalan seterusnya dikenali sebagai ulangan atau gelung. Arahan ini adalah arahan yang ditulis oleh pengaturcara untuk mengulangi pernyataan. Terdapat 2 jenis ulangan iaitu dilaksanakan untuk syarat benar dan dilaksanakan untuk syarat palsu. Kelebihan ulangan untuk dilaksanakan jika syarat palsu ialah ulangan dilaksanakan sekurang-kurangnya sekali mana kala untuk dilaksanakan jika syarat benar, ulangan mungkin tidak dilaksanakan langsung. Ulangan untuk syarat benar terdiri daripada Do While Loop, While Wend dan ForNext. Penggunaan Do WhileLoop dan WhileWend adalah sama tetapi untuk ForNext selalunya digunakan untuk ulangan yang telah ditetapkan. Mana kala untuk ulangan syarat palsu ialah DoLoop Until. Jadual 10.3 memberikan sintaks, maksud dan contoh atur cara.

98

OUM

UNIT 2 BAB 10

VISUAL BASIC KAWALAN, TATASUSUNAN DAN STRING

Jadual 10.3: Sintaks, Maksud dan Contoh Atur Cara Ulangan

Arahan kawalan pilihan dan ulangan adalah hampir sama dengan bahasa pengaturcaraan lain. Cuma yang membezakan hanyalah sintaks dan perkataan simpanan yang digunakan. Dapatkan bahan bacaan tambahan seperti yang tersenarai di akhir modul ini.

10.1.4

Contoh Penggunaan Ulangan

Pertimbangkan masalah berikut: Anda diminta untuk membina satu atur cara bagi memudahkan pengiraan bayaran balik skim pinjaman jangka pendek. Atur cara ini membenarkan pengguna memilih jumlah pinjaman yang dikehendaki iaitu RM1,000, RM2,000 sehinggalah pinjaman maksimum sebanyak RM10,000. Pengguna juga dibenarkan untuk memilih tempoh bayaran balik antara 1 bulan hingga 12 bulan sahaja. Kadar keuntungan ditetapkan sebanyak 5% setahun. Atur cara ini akan memaparkan jadual pembayaran dan baki bagi setiap bulan.

OUM

99

VISUAL BASIC KAWALAN, TATASUSUNAN DAN STRING

UNIT 2 BAB 10

Cara Perlaksanaan

Berdasarkan daripada input, proses dan output yang telah dikenal pasti, bina satu Form dan namakan sebagai frmPinjaman. Antara muka frmPinjaman seperti yang ditunjukkan pada Rajah 10.2 dan Jadual 10.4 memberikan nama setiap objek dan nilai propertiesnya. Carta alir untuk menyelesaikan masalah ini ditunjukkan pada Rajah 10.3.

Rajah 10.2: Antara muka frmPinjaman

100

OUM

UNIT 2 BAB 10

VISUAL BASIC KAWALAN, TATASUSUNAN DAN STRING

Jadual 10.4: Nama Setiap Objek dan Nilai Properties untuk frmPinjaman

Rajah 10.3: Carta Alir Skim Pinjaman Jangka Pendek.

OUM

101

VISUAL BASIC KAWALAN, TATASUSUNAN DAN STRING

UNIT 2 BAB 10

Formula: 1. Jumlah Keuntungan Setahun = Jumlah Pinjaman * Kadar Keuntungan 2. Jumlah Keuntungan Sebulan = Jumlah Keuntungan Setahun / 12 3. Jumlah Pinjaman Keseluruhan = Jumlah Pinjaman + (Jumlah Keuntungan Sebulan* Tempoh Pinjaman) 4. Bayaran Bulanan = Jumlah Pinjaman Keseluruhan / Tempoh Pinjaman 5. Baki Semasa = Jumlah Pinjaman Keseluruhan Bayaran Bulanan. Untuk melaksanakan atur cara ini, pengaturcara perlulah menaip atur cara pada Form Load seperti atur cara di bawah untuk menyenaraikan pilihan pinjaman dari RM1,000 hinggalah pinjaman maksimum RM10,000. Gunakan arahan ForNext untuk menyenaraikan tempoh bayaran dari 1 bulan hingga 12 bulan.

Private Sub Form_Load() Dim jum As Integer jum = 1000 Do While jum Basic Then Print Visual Lebih Besar daripada Basic Else Print Basic Lebih Besar daripada Visual End If Perbandingan string juga boleh dilakukan dengan menggunakan fungsi yang telah disediakan oleh VB6 iaitu fungsi StrComp(str1,str2). Fungi ini mengembalikan nilai 0,1 dan 1. Maksud nilai tersebut ialah: 1. 2. 3. Nilai 0 dikembalikan jika str1 dan str2 adalah sama nilai. Nilai 1 dikembalikan jika str1 adalah lebih besar daripada str2. Nilai 1 dikembalikan jika str1 adalah lebih kecil daripada str2.

Contoh penggunaan fungsi StrComp:

Dim nama1,nama2 As String Dim nilaiBanding As Byte nama1 = Visual nama2 = Basic nilaiBanding = StrComp(nama1,nama2) If nilaiBanding = 0 then Print nama1 & sama dengan & nama2 ElseIf nilaiBanding = 1 then Print nama1 & lebih besar daripada & nama2 Else Print nama1 & lebih kecil daripada & nama2 End If

112

OUM

UNIT 2 BAB 10

VISUAL BASIC KAWALAN, TATASUSUNAN DAN STRING

Perbandingan string dilakukan berdasarkan nilai ANSI aksara tersebut. Contoh, nilai ANSI bagi a ialah 97 dan A ialah 65. Oleh itu, a lebih besar daripada A. Perbandingan string juga dilakukan bermula dari aksara pertama dalam string tersebut. Jika aksara pertama str1 tersebut lebih besar daripada aksara pertama str2, maka str1 adalah lebih besar daripada str2. Perbandingan string dilakukan berdasarkan nilai ANSI aksara tersebut. Contoh, nilai ANSI bagi a ialah 97 dan A ialah 65. Oleh itu, a lebih besar daripada A. Perbandingan string juga dilakukan bermula dari aksara pertama dalam string tersebut. Jika aksara pertama str1 tersebut lebih besar daripada aksara pertama str2, maka str1 adalah lebih besar daripada str2.

Terdapat dua cara untuk membandingkan string seperti yang dinyatakan dalam Jadual 10.7.Jadual 10.7: Arahan untuk Perbandingan String

10.8.3

Fungsi-fungsi dalam Operasi String

Fungsi-fungsi dalam operasi string bolehlah dibahagikan kepada dua bahagian iaitu fungsi yang mengembalikan nilai string dan fungsi yang mengembalikan nilai numerik. Fungsi yang mengembalikan string ialah Left, Mid, Right, UCase, LCase dan Trim. Left, Mid dan Right mengembalikan string dari kiri, tengah dan kanan string mengikut saiz string yang dinyatakan. UCase akan menukarkan string ke huruf besar mana kala LCase akan menukarkan string ke huruf kecil. Akhir sekali, fungsi Trim akan menghapuskan ruang awal dan ruang akhir yang terdapat pada string. Contoh operasi ditunjukkan seperti dalam Jadual 10.8.

OUM

113

VISUAL BASIC KAWALAN, TATASUSUNAN DAN STRING

UNIT 2 BAB 10

Jadual 10.8: Contoh Fungsi Operasi String yang Mengembalikan String

Fungsi yang mengembalikan nilai numerik ialah InStr dan Len. Fungsi InStr mencari satu string di dalam string yang lain bermula dari kedudukan yang diberi dan mengembalikan kedudukan pertama string yang dicari. Nilai 0 dikembalikan jika string yang ingin dicari tiada dalam string tersebut. Fungi Len memberikan saiz aksara bagi string yang dinyatakan termasuk ruang kosong. Contoh operasi seperti yang ditunjukkan dalam Jadual 10.9.Jadual 10.9: Contoh Fungsi Operasi String yang Mengembalikan Numerik

114

OUM

UNIT 2 BAB 10

VISUAL BASIC KAWALAN, TATASUSUNAN DAN STRING

10.9

CONTOH PENGGUNAAN STRING

Anda diminta untuk membina satu atur cara yang boleh menginput nama dan nombor kad pengenalan anda. Output yang dikehendaki ialah nama anda akan secara automatik bertukar menjadi huruf besar dan berdasarkan nombor kad pengenalan, anda dikehendaki memaparkan maklumat berikut:

Tarikh lahir Umur dalam tahun Tempat Lahir Jantina

Ikuti langkah-langkah berikut untuk membina atur cara ini: 1. 2. Bina antara muka seperti yang ditunjukkan dalam Rajah 10.9 dengan nilai-nilai properties seperti dalam Jadual 10.10. Untuk paparkan tarikh hari ini maka taipkan kod berikut pada acara Form_Load. Private Sub Form_Load() lblTarikh.Caption = Day(Date) & . & Month(Date) & . & Year(Date) End Sub

Rajah 10.9: Antara muka maklumat kad pengenalan

OUM

115

VISUAL BASIC KAWALAN, TATASUSUNAN DAN STRING Jadual 10.10: Nama Setiap Objek dan Propertiesnya

UNIT 2 BAB 10

3.

Untuk tukarkan nama yang diinput menjadi huruf besar selepas sahaja nama diinput maka taipkan kod berikut pada acara Lost_Focus.

Private Sub txtNama_LostFocus() Dim nama As String nama = UCase(txtNama.Text) txtNama.Text = nama End Sub4. Langkah terakhir yang perlu dilakukan ialah untuk memaparkan maklumat-maklumat yang diperlukan dari nombor kad pengenalan. Terdapat beberapa langkah yang perlu dilakukan iaitu: (i) Tentusahkan input nombor kad pengenalan. Ini dapat dilakukan dengan menentukan saiz string yang diinput oleh pengguna berpandukan contoh yang dinyatakan. Jika saiz tidak betul maka keluarkan satu mesej untuk memaklumkan ralat tersebut dan kembali semula ke input nombor kad pengenalan. Kod atur cara untuk tentukan saiz nombor kad pengenalan adalah:

panjang = Len(txtKP.Text)

116

OUM

UNIT 2 BAB 10

VISUAL BASIC KAWALAN, TATASUSUNAN DAN STRING

(i)

Jika input nombor kad pengenalan betul, barulah proses seterusnya dilaksanakan iaitu: (a) Maklumat Tarikh Lahir Maklumat ini boleh diperolehi dengan mengambil maklumat tahun, bulan dan tarikh lahir. Kod untuk mendapatkan maklumat tersebut adalah: tahun = Left(txtKP.Text, 2) bulan = Mid(txtKP.Text, 3, 2) hari = Mid(txtKP.Text, 5, 2)

(b)

Umur dalam tahun Umur dapat ditentukan dengan menolak tahun semasa dengan tahun dilahirkan. Kod untuk mendapatkan maklumat ini adalah: txtUmur.Text = Year(Date) - (19 & tahun)

(c)

Tempat Lahir Maklumat ini boleh diperolehi dari nombor kad pengenalan pada kedudukan yang ke 7 dengan saiz 2. Kod untuk mendapatkan maklumat ini adalah: negeri = Mid(txtKP.Text, 7, 2)

(d)

Jantina Maklumat jantina diperolehi pada bahagian paling kanan nombor kad pengenalan dengan saiz satu. Kod untuk mendapatkan maklumat ini adalah: jantina = Right(txtKP.Text, 1)

Keseluruhan atur cara untuk mendapatkan maklumat dari nombor kad pengenalan ini adalah seperti atur cara di bawah:

OUM

117

VISUAL BASIC KAWALAN, TATASUSUNAN DAN STRING

UNIT 2 BAB 10

Private Sub txtKP_LostFocus() Dim panjang As Byte Dim tahun, bulan, hari As Integer Dim negeri, jantina As Byte panjang = Len(txtKP.Text) menentukan saiz no. KP If panjang = 12 Then tahun = Left(txtKP.Text, 2) maklumat tahun bulan = Mid(txtKP.Text, 3, 2) maklumat bulan hari = Mid(txtKP.Text, 5, 2) maklumat hari txtTL.Text = hari & . & bulan & . & 19 & tahun paparkan TL txtUmur.Text = Year(Date) - (19 & tahun) paparkan umur negeri = Mid(txtKP.Text, 7, 2) maklumat negeri Select Case negeri Case 01 lahir = Johor Case 02 lahir = Kedah Case 03 lahir = Kelantan Case 04 lahir = Melaka Case 05 lahir = Negeri Sembilan Case 10 lahir = Selangor Case Else MsgBox Negeri Lahir Anda Tiada Dalam Senarai!, vbOKOnly, Maklumat End Select txtLahir.Text = lahir paparkan tempat lahir jantina = Right(txtKP.Text, 1) maklumat jantina Select Case jantina Case 1, 3, 5, 7, 9 txtJantina.Text = Lelaki Case 0, 2, 4, 6, 8 txtJantina.Text = Perempuan End Select Else MsgBox Sila masukkan semula no. K/P anda!, vbExclamation, Ralat K/P txtKP.Text = txtKP.SetFocus End If End Sub

118

OUM

UNIT 2 BAB 10

VISUAL BASIC KAWALAN, TATASUSUNAN DAN STRING

Latihan 10.51. 2. Kemas kini atur cara di atas untuk dilengkapkan bagi semua kod-kod negeri tempat lahir. Berdasarkan atur cara di atas, didapati pengguna yang lahir pada tahun 2000 dan ke atas akan mendapat maklumat yang tidak begitu tepat. Cuba baiki kelemahan ini.

RUMUSANDengan berakhirnya bab ini anda seharusnya sudah boleh membina atur cara ringkas dengan menggunakan konsep pengaturcaraan visual. Apa yang penting anda perlu mengetahui bagaimana paparan yang anda kehendaki, input yang diperlukan kemudian cara proses pada setiap objek. Di samping pembacaan modul ini, anda amat-amat digalakkan untuk memperkayakan bacaan dan memahirkan penggunaan perisian Ms Visual Basic 6.0. Telusuri laman-laman web yang berkaitan dengan menggunakan kata kunci seperti visual basic, vb programming dan lain-lain yang sesuai.

OUM

119