visual basic



PEMROGRAMAN VISUAL BASIC
Setelah memahami bahasa Visual Basic dasar untuk menuliskan kode program, langkah selanjutnya adalah mempelajari pemrograman VB itu sendiri.
6.1 Sub Procedure
Sejauh ini, Anda telah menuliskan sub procedure yang dibuat secara otomatis pada saat menggunakan event. Sub procedure merupakan blok kode yang mempunyai nama dan berisi perintah yang dapat
dipanggil sewaktu-waktu. Artinya, Anda dapat membuat beberapa baris kode perintah yang kemudian dipanggil berkali-kali sesuai kebutuhan.
Donload hanya bisa di jam kerja kami
Berikut sintaks untuk menuliskan sub procedure:
[Private|Public] Sub subname[(argumentlist)]
statements
End Sub
Selanjutnya, Anda dapat memanggil sub procedure sewaktu-waktu
dengan sintaks berikut:
[Call] subname[(argumentlist)]
Keterangan mengenai sub prosedur:
• Sub prosedur (procedure) sebaiknya menggunakan nama dengan kata kerja (verb).
• Pemanggilan prosedur yang masih dalam satu kelas (class) ataupun modul (module) dapat dilakukan dengan kata kunci Me. Prosedur dapat menerima argumen melalui nilai (by value) atau juga referensi (by reference). Jika menggunakan by value, nilai pada argumen tidak akan berubah. Sedangkan jika menggunakan byreference, nilai argumen dapat berubah sesuai dengan perintah dalam prosedur. Secara default, argumen dimasukkan melalui nilai (by value). Andadapat menambahkan kata kunci ByVal untuk by value dan ByRef untuk by reference. Sintaks argumen yang digunakan seperti berikut:
[ByVal|ByRef] variablename As type
Sebagai contoh kasus, lakukan praktek berikut untuk membuat prosedur dengan parameter nilai dan referensi.
1. Buat projek baru lalu buat interface seperti gambar berikut.
Gunakan teks dan nama seperti tabel di bawah ini.
Form Form1 Tambah Satu
Label Label1 Nilai awal
Label Label2 Nilai akhir
Button Button1 ByVal
Button Button2 ByRef
2. Terdapat dua tombol pada form. Tombol ByVal akan menjalankan
prosedur dengan argumen di-passing sebagai value.
Sub HitungVal(ByVal a As Decimal)
a += 1
txtAkhir.Text = a
End Sub
Sedangkan tombol ByRef akan menjalankan prosedur yang mirip
namun dengan argumen di-passing sebagai referensi.
Sub HitungRef(ByRef a As Decimal)
a += 1
txtAkhir.Text = a
End Sub
3. Klik ganda pada tombol ByVal dan ketikkan kode untuk memanggil prosedur HitungVal:
HitungVal(txtAwal.Text)
4. Klik ganda pada tombol ByRef dan ketikkan kode untuk memanggil prosedur HitungRef:
HitungRef(txtAwal.Text)
5. Jalankan program dengan menekan tombol F5 keyboard. Tes untuk penghitungan menggunakan ByVal. Nilai pada argumen (txtAwal.Text) tetap, sedangkan nilai akhir (a) bertambah satu.

Sejauh ini, Anda telah menuliskan sub procedure yang dibuat secara otomatis pada saat menggunakan event. Sub procedure merupakan blok kode yang mempunyai nama dan berisi perintah yang dapat
dipanggil sewaktu-waktu. Artinya, Anda dapat membuat beberapa baris kode perintah yang kemudian dipanggil berkali-kali sesuai kebutuhan.

Berikut sintaks untuk menuliskan sub procedure:
[Private|Public] Sub subname[(argumentlist)]
statements
End Sub
Selanjutnya, Anda dapat memanggil sub procedure sewaktu-waktu
dengan sintaks berikut:
[Call] subname[(argumentlist)]
Keterangan mengenai sub prosedur:
• Sub prosedur (procedure) sebaiknya menggunakan nama dengan kata kerja (verb).
• Pemanggilan prosedur yang masih dalam satu kelas (class) ataupun modul (module) dapat dilakukan dengan kata kunci Me. Prosedur dapat menerima argumen melalui nilai (by value) atau juga referensi (by reference). Jika menggunakan by value, nilai pada argumen tidak akan berubah. Sedangkan jika menggunakan byreference, nilai argumen dapat berubah sesuai dengan perintah dalam prosedur. Secara default, argumen dimasukkan melalui nilai (by value). Andadapat menambahkan kata kunci ByVal untuk by value dan ByRef untuk by reference. Sintaks argumen yang digunakan seperti berikut:
[ByVal|ByRef] variablename As type
Sebagai contoh kasus, lakukan praktek berikut untuk membuat prosedur dengan parameter nilai dan referensi.
1. Buat projek baru lalu buat interface seperti gambar berikut.
Form Form1 Tambah Satu
Label Label1 Nilai awal
Label Label2 Nilai akhir
Button Button1 ByVal
Button Button2 ByRef
2. Terdapat dua tombol pada form. Tombol ByVal akan menjalankan
prosedur dengan argumen di-passing sebagai value.
Sub HitungVal(ByVal a As Decimal)
a += 1
txtAkhir.Text = a
End Sub
Sedangkan tombol ByRef akan menjalankan prosedur yang mirip
namun dengan argumen di-passing sebagai referensi.
Sub HitungRef(ByRef a As Decimal)
a += 1
txtAkhir.Text = a
End Sub
3. Klik ganda pada tombol ByVal dan ketikkan kode untuk memanggil prosedur HitungVal:
HitungVal(txtAwal.Text)
4. Klik ganda pada tombol ByRef dan ketikkan kode untuk memanggil prosedur HitungRef:
HitungRef(txtAwal.Text)
5. Jalankan program dengan menekan tombol F5 keyboard. Tes untuk penghitungan menggunakan ByVal. Nilai pada argumen (txtAwal.Text) tetap, sedangkan nilai akhir (a) bertambah satu.

6. Tes untuk penghitungan menggunakan ByRef. Maka nilai pada
argumen (txtAwal.Text) dan nilai akhir (a) akan bertambah satu.

7. Di bawah ini kode lengkap program:
Public Class Form1
Sub HitungVal(ByVal a As Decimal)
a += 1
txtAkhir.Text = a
End Sub
Sub HitungRef(ByRef a As Decimal)
a += 1
txtAkhir.Text = a
End Sub
Private Sub Button1_Click(ByVal sender As System.Object _
, ByVal e As System.EventArgs) Handles Button1.Click
HitungVal(txtAwal.Text)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object _
, ByVal e As System.EventArgs) Handles Button2.Click
HitungRef(txtAwal.Text)
End Sub
End Class
6.2 Function Procedure (Fungsi)
Fungsi mempunyai banyak kemiripan dengan sub procedure.
Bedanya, fungsi selalu mengembalikan nilai (return value).
Sintaks fungsi dituliskan sebagai berikut:
[Private|Public] Function functionname[(argumentlist)] [As type]
statements {
functionname = expression} | {Return expression}
End Function
Keterangan mengenai Fungsi:
• Perbedaan antara fungsi dan prosedur hanyalah pada pengembalian nilai saja (return value). Sebagai contoh, fungsi dapat menggunakan argumen berupa nilai (by value) dan referensi (by reference).
• Pengembalian nilai dapat dilakukan menggunakan operator assignment “=” pada fungsi atau bisa dengan perintah Return. Akan lebih jelas lagi jika Anda melakukan praktek menggunakan
fungsi. Untuk itu, kembangkan lagi aplikasi Tambah Satu dengan cara berikut:
1. Jalankan kembali aplikasi Tambah Satu. Jika Anda memasukkan karakter bukan angka pada textbox txtAwal lalu tombol diklik, program akan error.
argumen (txtAwal.Text) dan nilai akhir (a) akan bertambah satu.

7. Di bawah ini kode lengkap program:
Public Class Form1
Sub HitungVal(ByVal a As Decimal)
a += 1
txtAkhir.Text = a
End Sub
Sub HitungRef(ByRef a As Decimal)
a += 1
txtAkhir.Text = a
End Sub
Private Sub Button1_Click(ByVal sender As System.Object _
, ByVal e As System.EventArgs) Handles Button1.Click
HitungVal(txtAwal.Text)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object _
, ByVal e As System.EventArgs) Handles Button2.Click
HitungRef(txtAwal.Text)
End Sub
End Class
6.2 Function Procedure (Fungsi)
Fungsi mempunyai banyak kemiripan dengan sub procedure.
Bedanya, fungsi selalu mengembalikan nilai (return value).
Sintaks fungsi dituliskan sebagai berikut:
[Private|Public] Function functionname[(argumentlist)] [As type]
statements {
functionname = expression} | {Return expression}
End Function
Keterangan mengenai Fungsi:
• Perbedaan antara fungsi dan prosedur hanyalah pada pengembalian nilai saja (return value). Sebagai contoh, fungsi dapat menggunakan argumen berupa nilai (by value) dan referensi (by reference).
• Pengembalian nilai dapat dilakukan menggunakan operator assignment “=” pada fungsi atau bisa dengan perintah Return. Akan lebih jelas lagi jika Anda melakukan praktek menggunakan
fungsi. Untuk itu, kembangkan lagi aplikasi Tambah Satu dengan cara berikut:
1. Jalankan kembali aplikasi Tambah Satu. Jika Anda memasukkan karakter bukan angka pada textbox txtAwal lalu tombol diklik, program akan error.
2. Pesan kesalahan menunjukkan peristiwa InvalidCastException. Artinya, terjadi kegagalan casting saat mengubah karakter a menjadi bilangan (angka).


Untuk mengatasi masalah ini, dibutuhkan validasi data. Artinya, kevalidan data dicek terlebih dahulu baru kemudian diproses. Jika data tidak valid, proses tidak dilanjutkan.
3. Untuk mengakomodasi keperluan ini, buat fungsi baru dengan
nama cekdata sebagai berikut.
Private Function cekdata() As Boolean
If IsNumeric(txtAwal.Text) Then
Return True
Else
Return False
End If
End Function
‘Jika data adalah angka, maka fungsi akan mengembalikan nilai
‘True. Jika tidak, maka fungsi mengembalikan nilai False.
4. Ubah kode untuk klik pada tombol ByVal menjadi sebagai
berikut.
If cekdata() = True Then
HitungVal(txtAwal.Text)
Else
MessageBox.Show("Data yang dimasukkan bukan angka", _
"Kesalahan Data", MessageBoxButtons.OK, _
MessageBoxIcon.Error)
End If
5. Ubah kode untuk klik pada tombol ByRef menjadi sebagai
berikut.
If cekdata() = True Then
HitungRef(txtAwal.Text)
Else
MessageBox.Show("Data yang dimasukkan bukan angka", _
"Kesalahan Data", MessageBoxButtons.OK, _
MessageBoxIcon.Error)
End If
6. Jalankan kembali program dengan menekan tombol F5
keyboard. Masukkan sembarang karakter bukan angka pada
Nilai awal lalu tekan tombol ByVal/ByRef. Maka akan keluar
kotak dialog kesalahan dan pengguna harus menginput ulang
masukannya.
3. Untuk mengakomodasi keperluan ini, buat fungsi baru dengan
nama cekdata sebagai berikut.
Private Function cekdata() As Boolean
If IsNumeric(txtAwal.Text) Then
Return True
Else
Return False
End If
End Function
‘Jika data adalah angka, maka fungsi akan mengembalikan nilai
‘True. Jika tidak, maka fungsi mengembalikan nilai False.
4. Ubah kode untuk klik pada tombol ByVal menjadi sebagai
berikut.
If cekdata() = True Then
HitungVal(txtAwal.Text)
Else
MessageBox.Show("Data yang dimasukkan bukan angka", _
"Kesalahan Data", MessageBoxButtons.OK, _
MessageBoxIcon.Error)
End If
5. Ubah kode untuk klik pada tombol ByRef menjadi sebagai
berikut.
If cekdata() = True Then
HitungRef(txtAwal.Text)
Else
MessageBox.Show("Data yang dimasukkan bukan angka", _
"Kesalahan Data", MessageBoxButtons.OK, _
MessageBoxIcon.Error)
End If
6. Jalankan kembali program dengan menekan tombol F5
keyboard. Masukkan sembarang karakter bukan angka pada
Nilai awal lalu tekan tombol ByVal/ByRef. Maka akan keluar
kotak dialog kesalahan dan pengguna harus menginput ulang
masukannya.
6.3 Modul (Module)
Modul merupakan bagian yang sengaja dipisahkan untuk memudahkan pemrograman. Dalam modul dapat dimasukkan prosedur, fungsi, dan variabel yang kemudian digunakan oleh beberapa form.
• Umumnya modul dideklarasikan secara publik (public) agar dapat digunakan di dalam kode mana pun.
• Modul dapat diisi dengan main procedure yang akan dijalankan pertama kali saat program dimulai.
• Modul merupakan salah satu implementasi code reuse yang bertujuan agar program lebih efisien.
Pembuatan modul dapat dilakukan dengan sintaks berikut:
Module modulename
Statements
End Module
Anda dapat membuat modul melalui aplikasi Visual Studio. Caranya,
klik menu Project > Add Module. Anda juga dapat mengklik kanan
nama Projek pada Solution Explorer. Pilih menu Add > Module.

Penggunaan prosedur, fungsi, variabel dalam modul dilakukan biasa,
yaitu secara langsung.
Modul merupakan bagian yang sengaja dipisahkan untuk memudahkan pemrograman. Dalam modul dapat dimasukkan prosedur, fungsi, dan variabel yang kemudian digunakan oleh beberapa form.
• Umumnya modul dideklarasikan secara publik (public) agar dapat digunakan di dalam kode mana pun.
• Modul dapat diisi dengan main procedure yang akan dijalankan pertama kali saat program dimulai.
• Modul merupakan salah satu implementasi code reuse yang bertujuan agar program lebih efisien.
Pembuatan modul dapat dilakukan dengan sintaks berikut:
Module modulename
Statements
End Module
Anda dapat membuat modul melalui aplikasi Visual Studio. Caranya,
klik menu Project > Add Module. Anda juga dapat mengklik kanan
nama Projek pada Solution Explorer. Pilih menu Add > Module.

Penggunaan prosedur, fungsi, variabel dalam modul dilakukan biasa,
yaitu secara langsung.
Komentar
Posting Komentar