2.
Dasar Pemrograman Visual Basic
Pengantar
Pada bab ini, akan dikenalkan
pemrograman Visual Basic dan disajikan beberapa contoh yang mengilustrasikan
fitur-fitur penting Visual Basic. Untuk mengatrol pemahaman pembaca, kode
program akan dinomori untuk membantu analisa. Ada beberapa projek Visual Basic;
aplikasi konsol merupakan yang paling sederhana. Keluaran teks pada aplikasi
konsol ditampilkan dalam command window
(disebut juga dengan konsol window). Pada Microsoft Windows 95/98, command window disebut dengan MS-DOS prompt; pada Microsoft Windows
NT/2000/XP/7, command window dikenal
dengan command prompt.
Program
Sederhana
Visual Basic.NET menggunakan beberapa
notasi yang tampak aneh pada programer pemula. Untuk menjelaskan notasi ini,
akan disajikan sebuah contoh sederhana (Kode 2.1) yang menampilkan sebaris
teks. Ketika program ini dijalankan, keluaran akan muncul pada command window.
1
2
3
4
5
6
7
8
9
10
|
' Kode 2.1: Contoh1.vb
' Program sederhana Visual Basic.
Module modPertama
Sub Main()
Console.WriteLine("Program pertama Visual Basic!")
End Sub ' Main
End Module ' modPertama
|
Program pertama Visual Basic!
|
Baris 1 dimulai dengan karakter
kutip-tunggal (‘) yang mengindikasikan bahwa baris tersebut merupakan komentar.
Programer menyisipkan komenter di dalam program untuk menjelaskan tujuan kode.
Kompiler Visual Basic mengabaikan komentar, yang berarti bahwa komentar tidak
menyebabkan komputer untuk melakukan apapun ketika program dijalankan. Komentar
pada baris 1 hanya mengindikasikan penomoran kode dan nama file. Baris 2
memberikan penjelasan singkat mengenai program. Pada kasus ini, file dinamai
dengan Contoh1.vb. Ingat bahwa .vb merupakan ekstensi file untuk
Visual Basic.
Baris 4-10 mendefinisikan module
pertama ( secara kolektif dinamakan definisi module). Aplikasi konsol Visual
Basic memuat potongan yang dinamakan module, yang mengelompokkan beberapa prosedur
untuk mengorganisasi program. Prosedur ditujukan untuk melakukan pekerjaan
tertentu dan dapat menghasilkan informasi ketika pekerjaan tersebut selesai
dilakukan. Setiap aplikai konsol dalam Visual Basic sedikitnya memuat satu
definisi module dan satu prosedur.
Kata Module merupakan contoh katakunci dalam Visual Basic. Ada beberapa
katakunci yang dicadangkan dalam Visual Basic (disajikan pada bab selanjutnya.
Nama Module (pada kasus ini, modPertama) dikenal sebagai pengenal,
yang merupakan sederet huruf, dijit, dan garis-bawah (_). Pengenal tidak bisa
diawali dengan dijit dan tidak bisa memuat spasi. Beberapa contoh pengenal yang
valid adalah nilai1, koordinat_xy, _total, dan tugas12.
Nama 2Contoh bukan pengenal yang
valid karena diawali dengan dijit, dan nama masukan pertama bukan pengenal yang valid memuat spasi.
Katakunci dan pengenal Visual Basic tidak
sensitif terhadap perubahan huruf. Ini berarti bahwa huruf besar dan huruf
kecil akan dipandang identik, yang menyebabkan modPertama dan modpertama
diinterpretasikan sebagai pengenal yang sama. Meskipun katakunci tampak
seolah-olah sensitif terhadap perubahan huruf, sebenarnya hal itu tidak
terjadi. Ketika Anda mengetikkan module,
IDE Visual Studio akan mengubahnya menjadi Module
saat Anda menekan kunci ENTER.
Baris 3 dan 5 adalah baris kosong.
Seringkali, baris kosong dan karakter spasi dipakai untuk membuat program mudah
dibaca. Secara kolektif, baris kosong, karakter spasi, dan karakter tab
dinamakan dengan spasi putih (whitespace).
Baris 6 ditemukan pada semua aplikasi
konsol Visual Basic. Aplikasi tersebut dieksekusi dimulai dari Main, yang dikenal sebagai titik entri
program. Sepasang kurung yang muncul setelah Main() mengindikasikan bahwa Main
adalah sebuah prosedur.
Katakunci Sub (baris 7) memulai tubuh definisi prosedur (kode yang akan
dieksekusi sebagai bagian dari program). Katakunci End Sub (baris 8) mengakhiri tubuh definisi prosedur. Perhatikan
bahwa kode pada baris 7 di dalam tubuh prosedur ditata dengan menambahkan
beberapa spasi ke kanan.
Baris 7 pada Kode 2.1 melakukan
pekerjaan sesungguhnya pada program, menampilkan frase Program pertama Visual Basic! pada layar. Baris 7 menginstruksikan
komputer untuk melakukan sebuah aksi, yaitu menampilkan sederet karakter yang
diapit oleh sepasang tanda baca kutip ganda. Sederet karakter yang diapit
dengan cara seperti ini disebut dengan string, yang juga dikenal dengan string
karakter atau literal string.
Keseluruhan baris, termasuk Console.WriteLine dan argumennya di
dalam kurung (string), dinamakan dengan statemen. Ketika statemen ini
dieksekusi, komputer menampilkan pesan Program
pertama Visual Basic! pada command
window.
Perhatikan bahwa Console.WriteLine memuat dua pengenal berbeda (yaitu, Console dan WriteLine) yang dipisahkan dengan operator dot (.). Pengenal di
sebelah kanan operator dot adalah nama metode, dan pengenal di sebelah kiri
adalah nama kelas yang memuat metode tersebut. Kelas menata sekelompok metode
dan data yang berelasi, sedangkan metode ditujukan untuk melakukan tugas dan
menghasilkan informasi balik ketika tugas diselesaikan.
Ketika metode WriteLine menyelesaikan tugasnya, ia memposisikan kursor di awal
baris berikutnya pada command window.
Eksekusi program berhenti ketika program menjumpai End Sub pada baris 8.
Sekarang setelah aplikasi konsol
pertama telah disajikan, akan dijelaskan langkah-per-langkah tentang bagaimana
menciptakan dan menjalankannya menggunakan IDE Visual Studio .NET.
1. Ciptakan aplikasi konsol. Pilih File > New > Project untuk
menampilkan dialog New Project
(Gambar 2.1). Pada bidang sebelah kiri, pilih Visual Basic, dan, pada bidang sebelah kanan, pilih Console Application. Pada bidang dialog
Name, ketikkan Contoh1. Lokasi penempatan file-file projek dispesifikasi pada bidang
Location. Secara default, akan
disimpan di dalam folder Visual Studio
Projects di dalam folder My
Documents (pada desktop Window). Klik OK
untuk menciptakan projek. IDE sekarang memuat aplikasi konsol, seperti ditampilkan pada Gambar 2.2.
Perhatikan bahwa jendela editor memuat empat baris kode yang disediakan oleh
IDE. Skema pewarnaan yang dipakai oleh IDE menolong programer untuk secara
visual membedakan elemen-elemen program. Katakunci tampak berwarna biru,
sedangkan teks berwarna hitam. Ketika ditampilkan, komentar berwarna hijau.
Gambar 2.1 Menciptakan
aplikasi konsol dengan dialog New
Project.
Gambar 2.2 IDE dengan
aplikasi konsol terbuka
2. Ubah nama file program. Pada buku
ini, nama file program (Module1.vb)
diubah sesuai dengan kebutuhan deskriptif. Untuk menamai-ulang file, klik Module1.vb pada jendela Solution Explorer. Langkah ini akan
menampilkan properti dari file program pada jendela Properties (Gambar 2.3). Ubah properti File Name menjadi Contoh1.vb.
Gambar 2.3 Menamai-ulang
file program pada jendela Properties
3.
Ubah nama
module. Perhatikan bahwa pengubahan nama file program tidak mempengaruhi nama
module dalam kode program. Nama module harus dimodifikasi pada jendela editor.
Untuk melakukannya, ganti pengenal Module1
dengan modPertama dengan menghapus
nama lama dan mengetikkan nama baru yang ditempatkan setelah katakunci Module.
4. Menulis kode. Pada jendela editor, ketikkan kode
yang dimuat pada baris 7 pada Kode 2.1 di antara Sub Main() dan End Sub.
Setelah program mengetikkan nama kelas dan operator dot (pada kasus ini, Console), sebuah jendela dengan
batang-geser ditampilkan (Gambar 2.4). Fitur IDE Visual Studio .NET ini
dinamakan dengan IntelliSense, yang
mencantumkan anggota-anggota kelas. Programer dapat mengetikkan nama anggota
secara utuh (misalnya, WriteLine),
atau mengklik-ganda nama anggota di dalam daftar atau menekan kunci Tab untuk
menyempurnakan nama anggota. Begitu nama utuh diberikan, jendela IntelliSense
akan tertutup.
Ketika Anda mengetikkan karakter kurung buka, (,
setelah Console.WriteLine, dua
jendela akan ditampilkan (Gambar 2.5). Keduanya adalah jendela Parameter Info
dan Parameter List. Jendela Parameter Info menampilkan informasi seputar
argumen metode. Jendela ini mengindikasikan berapa banyak versi metode terkait
yang tersedia. Sebagai contoh, ada 17 versi dari metode WriteLine. Jendela
Parameter List mencantumkan beberapa argumen yang mungkin untuk metode yang
ditunjukkan pada jendela Parameter Info.
Gambar 2.4 Fitur
IntelliSense pada IDE Visual Studio .NET
Gambar 2.5 Jendela
Parameter Info dan jendela Parameter List
Ketika program dijalankan, prosedur Main akan dipanggil, yang dipandang
sebagai titik entri program. Selanjutnya, statemen pada baris 7 menampilkan Program pertama Visual Basic!. Gambar
2.6 menampilkan hasil eksekusi program.
Gambar 2.6 Hasil eksekusi
program
Pesan Program pertama Visual Basic! dapat ditampilkan menggunakan
beberapa pemanggilan metode. Program pada kode 2.2 menggunakan dua statemen
untuk menghasilkan keluaran yang sama dengan program pada kode 2.1.
Baris 7-8 pada kode 2.2 menampilkan
sebaris teks pada command window.
Statemen pertama memanggil metode Write
dari kelas Console untuk menampilkan
sebuah string. Tidak seperti WriteLine,
Write tidak memposisikan kursor
keluaran di awal baris selanjutnya pada command
window setelah menampilkan stringnya. Melainkan, karakter selanjutnya
ditampilkan pada command window tepat
setelah karakter terakhir yang ditampilkan dengan Write. Jadi, ketika baris 8 dieksekusi, karakter pertama yang
ditampilkan, “V”, muncul setelah
karakter terakhir yang ditampilkan dengan Write
(yaitu, karakter spasi di akhir kata “pertama”
pada baris 7).
1
2
3
4
5
6
7
8
9
10
11
|
' Kode 2.2: Contoh2.vb
' Program sederhana Visual Basic.
Module modKedua
Sub Main()
Console.Write("Program pertama ")
Console.WriteLine("Visual Basic!")
End Sub ' Main
End Module ' modKedua
|
Program pertama Visual
Basic!
|
Satu
Lagi Program Sederhana: Menjumlahkan Integer
Pada contoh berikutnya (Gambar 2.3)
membaca dua integer yang disediakan oleh pengguna, menghitung penjumlahan atas
kedua integer tersebut, dan menampilkan hasilnya. Setelah pengguna memasukkan
suatu integer dan menekan ENTER, integer dibaca ke dalam program dan
ditambahkan kepada total.
Baris 9 dan 12 adalah deklarasi, yang
dimulai dengan katakunci Dim. Kata angkaPertama, angkaKedua, angka1, angka2, dan jumAngka adalah nama variabel atau lokasi di dalam memori komputer
dimana nilai disimpan. Semua variabel harus dideklarasikan sebelum digunakan di
dalam suatu program. Deklarasi pada baris 9 menspesifikasi bahwa variabel angkaPertama dan angkaKedua bertip String,
yang mengindikasikan bahwa keduanya menyimpan string karakter. Baris 12
mendeklarasikan bahwa angka1, angka2, dan jumAngka bertipe data Integer,
yang berarti bahwa ketiganya menyimpan nilai integer. Berbagai tipe data yang
didefinisikan dalam Visual Basic, seperti String
dan Integer, dikenal dengan tipe
data primitif atau tipe data built-in. Nama tipe data primitif merupakan
katakunci.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
' Kode 2.3: Penjumlahan.vb
' Program penjumlahan.
Module modPenjumlahan
Sub Main()
' variabel untuk menyimpan
masukan pengguna
Dim angkaPertama, angkaKedua As
String
' variabel untuk
penghitungan penjumlahan
Dim angka1, angka2, jumAngka As
Integer
' membaca angka pertama
dari pengguna
Console.Write("Masukkan integer pertama: ")
angkaPertama =
Console.ReadLine()
' membaca angka kedua dari
pengguna
Console.Write("Masukkan integer kedua: ")
angkaKedua =
Console.ReadLine()
' mengkonversi nilai
masukan menjadi Integer
angka1 = angkaPertama
angka2 = angkaKedua
jumAngka = angka1 + angka2
' menjumlahkan dua angka
' menampilkan hasil
Console.WriteLine("Hasil penjumlahan adalah {0}",
jumAngka)
End Sub ' Main
End Module ' modPenjumlahan
|
Program pertama Visual Basic! Masukkan integer pertama: 12
Masukkan integer kedua: 23
Hasil penjumlahan adalah 35
|
Baris 15 meminta pengguna untuk
memasukkan integer pertama yang akan dijumlahkan. Baris 16 mendapatkan nilai
yang dimasukkan oleh pengguna dan menugaskannya kepada variabel angkaPertama. Argumen yang dilewatkan
kepada Write (baris 15) disebut
dengan prompt, karena mengarahkan
pengguna untuk mengambil tindakan tertentu. Metode ReadLine() (baris 16) menyebabkan program untuk berhenti sejenak
dan menunggu masukan pengguna. Setelah integer dimasukkan lewat papanketik,
pengguna menekan ENTER untuk mengirim integer tersebut kepada program.
Secara teknis, pengguna dapat
mengirimkan sembarang karakter kepada program sebagai masukan. Untuk program
ini, jika pengguna mengetikkan nilai tak-integer, seperti “hallo”, maka error
run-time akan terjadi (Gambar 2.7). Hal ini bisa diselesaikan dengan teknik
penanganan eksepsi.
Gambar 2.7 Error run-time
Begitu pengguna memasukkan sebuah angka
dan menekan ENTER, angka ini akan ditugaskan kepada variabel angkaPertama
(baris 16) menggunakan operator penugasan =. Statemen ini dibaca sebagai, “angkaPertama mendapatkan nilai yang
dijadikan nilai balik oleh metode ReadLine()
dari kelas Console”. Operator penugasan disebut dengan operator biner, karena
memerlukan dua operand, yaitu angkaPertama
dan nilai balik dari Console.ReadLine.
Keseluruhan statemen dinamakan dengan statemen penugasan karena ia menugaskan
sebuah nilai kepada suatu variabel.
Baris 19-20 meminta pengguna untuk
memasukkan integer kedua dan menugaskan nilai masukan kepada angkaKedua. Masukan pengguna dari
command window dikirim ke aplikasi konsol sebagai sebuah String. Sebagai contoh, jika pengguna mengetikkan karakter 7 dan 2 dan kemudian menekan ENTER, maka nilai yang dijadikan nilai balik
oleh ReadLine adalah “72”. Untuk melakukan operasi aritmatik
menggunakan nilai masukan, kedua String
terlebih dahulu dikonversi menjadi Integer.
Baris 23-24 secara implisit
mengkonversi dua String yang
diketikkan pengguna menjadi nilai Integer.
Visual Basic melakukan konversi tipe-data jika diperlukan. Pada kasus ini,
penugasan sebuah nilai String kepada
suatu variabel Integer akan
menyebabkan konversi, karena variabel Integer
hanya dapat menerima nilai Integer. Nilai
yang diperoleh dengan mengkonversi nilai String
pada baris 23 ditugaskan kepada variabel Integer,
angka1. Pada program ini, sembarang
referensi yang menunjuk ke nilai dari angka1
mengindikasikan Integer ini. Nilai
yang diperoleh dengan mengkonversi nilai String
pada baris 24 ditugaskan kepada variabel Integer,
angka2. Nilai yang disimpan di dalam
angkaPertama dan angkaKedua tetap bertipe String.
Secara alternatif, konversi implisit
ini, dapat dilakukan sedemikian rupa sehingga mengeliminasi kebutuhan akan
variabel String. Sebagai contoh,
Dim angka1 As Integer
angka1 = Console.ReadLine()
tidak menggunakan variabel String (angkaPertama). Pada kasus ini, Visual Basic mengetahui bahwa Console.ReadLine menghasilkan nilai
balik bertipe String, dan program
secara otomatis melakukan konversi yang diperlukan. Ketika String dibaca dan dikonversi dalam sebaris kode, variabel String (angkaPertama) menjadi tidak diperlukan.
Statemen penugasan pada baris 26
menghitung penjumlahan atas dua variabel Integer,
angka1 dan angka2, dan menugaskan hasilnya kepada variabel jumAngka, menggunakan operator
penugasan =. Statemen tersebut dibaca sebagai, “jumAngka mendapatkan nilai
dari angka1 + angka2”.
Kebanyakan perhitungan dilakukan di dalam statemen penugasan.
Setelah kalkulasi diselesaikan, baris
29 menampilkan hasil penjumlahan. Daftar argumen yang dipisahkan dengan koma
diberikan kepada WriteLine
"Hasil penjumlahan adalah {0}",
jumAngka
menggunakan {0} untuk mengindikasikan
bahwa Anda sedang menampilkan isi sebuah variabel. Jika diasumsikan jumAngka
memuat nilai 117, maka ekspresi tersebut akan dievaluasi sebagai berikut:
Visual Basic menjumpai sebuah angka yang diapit oleh sepasang kurung kurawal,
{0}, yang dikenal sebagai format. Sebuah format mengindikasikan bahwa argumen
yang ditempatkan setelah string (pada kasus ini, jumAngka) akan dievaluasi dan digabungkan ke dalam string,
menggantikan format. String yang dihasilkan adalah “Hasil penjumlahan adalah 117”. Format tambahan lain ( {1}, {2},
{3}, dan seterusnya) dapat disisipkan ke dalam string. Sebagai contoh, jika argumen
untuk WriteLine adalah
"Nilai-nilai yang
diberikan adalah {0}, {1} and {2}", angka1, angka2, 7
maka nilai dari angka1 menggantikan {0}
(karena merupakan variabel pertama), nilai dari angka2 menggantikan {1}
(karena merupakan variabel kedua), dan angka 7 menggantikan {2}. Bila
diasumsikan angka1 adalah 45 dan angka2 adalah 72, string
yang dihasilkan memuat “Nilai-nilai yang
diberikan adalah 45, 72 dan 7”.
Konsep
Memori
Nama variabel, seperti angka1, angka2, dan jumAngka,
berkaitan dengan lokasi aktual di dalam memori komputer. Setiap variabel
memiliki nama, tipe, ukuran, dan nilai. Pada program penjumlahan pada kode 2.3,
ketika statemen (baris 23)
angka1 = angkaPertama
dieksekusi, maka String yang sebelumnya dimasukkan oleh pengguna pada command window dan disimpan di dalam angkaPertama dikonversi menjadi sebuah Integer. Integer ini ditempatkan di dalam sebuah lokasi memori. Diasumsikan
bahwa pengguna memasukkan karakter 45
dan menekan ENTER. Masukan ini dijadikan nilai balik oleh ReadLine sebagai sebuah String
dan ditugaskan kepada angkaPertama.
Program kemudian mengkonversi String
“45” menjadi sebuah Integer, dan komputer menempatkan nilai
Integer, 45, ke dalam lokasi angka1,
seperti ditunjukkan pada Gambar 2.8.
Kapanpun sebuah nilai ditempatkan di
dalam sebuah lokasi memori, nilai itu menggantikan nilai yang sebelumnya
disimpan pada lokasi tersebut. Nilai sebelumnya dihancurkan (hilang).
Gambar 2.8 Lokasi memori yang menunjukkan nama
dan nilai dari variabel angka1
Dimisalkan bahwa pengguna kemudian
memasukkan karakter 72 dan menekan ENTER. Baris 20
angkaKedua = Console.ReadLine()
mengkonversi angkaKedua menjadi sebuah Integer,
menempatkan nilai Integer, 72, ke lokasi angka2, dan memori tampak seperti ditunjukkan pada Gambar 2.9.
Gambar 2.9 Dua lokasi memori setelah nilai-nilai
untuk variabel angka1 dan angka2 dimasukkan
Begitu program telah mendapat nilai
untuk angka1 dan angka2, ia menjumlahkan kedua nilai
tersebut dan menempatkan hasilnya ke dalam variabel jumAngka. Statemen
jumAngka = angka1 + angka2
melakukan penjumlahan dan mengganti
(menghancurkan) nilai sebelumnya pada jumAngka.
Setelah jumAngka dihitung, memori
akan tampak seperti ditunjukkan pada Gambar 2.10. Perhatikan bahwa nilai dari angka1 dan angka2 tampak persis sama seperti sebelumnya ketika digunakan dalam
perhitungan jumAngka. Meskipun kedua
angka tersebut dipakai ketika komputer melakukan perhitungan, keduanya tidak
dihancurkan. Ini mengilustrasikan bahwa, ketika sebuah nilai dibaca dari suatu
lokasi memori, prosesnya bersifat tak-destruktif.
Gambar 2.10 Tiga lokasi memori setelah operasi
penjumlahan dilakukan.
Aritmatik
Kebanyakan program melakukan
perhitungan aritmatik. Operator aritmatik dicantumkan pada Gambar 2.11.
Perhatikan penggunaan beberapa simbol spesial yang tidak dipakai dalam aljabar.
Sebagai contoh, simbol asteriks (*) mengindikasikan perkalian, dan katakunci Mod merepresentasikan operator modulus.
Kebanyakan operator aritmatik pada Gambar 2.11 merupakan operator biner, karena
setiap operator menggunakan dua operand. Sebagai contoh, ekspresi jum + nilai memuat operator biner + dan dua operand jum dan nilai. Visual
Basic juga menyediakan operator unary, yaitu operator yang hanya memerlukan
satu operand. Sebagai contoh, versi unary dari plus (+) dan minus (-) juga
disediakan, sehingga programer dapat menulis ekspresi seperti +19 dan -19.
Operasi Visual Basic
|
Operator Aritmatik
|
Ekspresi Aljabar
|
Ekspresi Visual Basic
|
Penjumlahan
Pengurangan
Perkalian
Pembagian (float)
Pembagian (integer)
Modulus
Pemangkatan
Unary Negatif
Unary Positif
|
+
-
*
/
\
Mod
^
-
+
|
f + 7
p – c
bm
x/y atau
tidak ada
r
modulo s
-e
+g
|
f + 7
p – c
b*m
x/y
v\u
r Mod
s
q^p
-e
+g
|
Gambar 2.11
Operator-operator aritmatik
Visual Basic mempunyai dua operator
terpusah untuk pembagian integer (backslash,
\) dan pembagian titik-mengambang (forward
slash, /). Pembagian Integer
memerlukan dua operand Integer dan
menghasilkan sebuah hasil Integer;
sebagai contoh, ekspresi 7\4 akan
menghasilkan 1, dan ekspresi 17\5 akan menghasilkan 3. Perhatikan bahwa bagian pecahan pada
pembagian Integer dibuang (dipotong)
dan tidak ada pembulatan yang dilakukan. Ketika angka pecahan
(titik-mengambang) dipakai dengan operator pembagian integer, angka tersebut
terlebih dahulu dibulatkan menjadi angka integer terdekat, kemudian dilakukan
pembagian. Ini berarti bahwa, meskipun 7.1\4
menghasilkan 1 seperti yang
diharapkan, statemen 7.7\4 akan
menghasilkan 2, karena 7.7 dibulatkan menjadi 8 sebelum pembagian terjadi.
Operator modulus, Mod, menghasilkan sisa setelah pembagian Integer pada program Visual Basic. Ekspresi x Mod y menghasilkan sisa setelah x dibagi dengan y. Jadi,
7 Mod 4 akan menghasilkan 3 dan 17 Mod 5 akan menghasilkan 2.
Operator ini kebanyakan dipakai dengan operand Integer, tetapi ia dapat pula digunakan dengan operand bertipe
lain.
Ekspresi aritmatik pada Visual Basic
harus ditulis dalam sebaris. Jadi, ekspresi seperti “a dibagi dengan b” harus ditulis sebagai a/b sehingga semua konstanta (seperti 45 dan 72 pada contoh
sebelumnya), variabel, dan operator berada dalam satu baris. Notasi aljabar
berikut tidak dapat diterima oleh kompiler:
Sepasang kurung dipakai dalam ekspresi
Visual Basic dengan cara yang sama seperti dalam ekspresi aljabar. Sebagai
contoh, untuk mengalikan a dengan
kuantitas b + c, dituliskan
a * (b + c)
Visual Basic menerapkan
operator-operator dalam ekspresi aritmatik menggunakan aturan keutamaan
operator, sebagai berikut:
1.
Operator-operator yang dimuat di dalam sepasang
kurung dievaluasi terlebih dahulu. Jadi, kurung dipakai untuk memaksa urutan
evaluasi agar sesuai dengan keinginan programer. Kurung berada pada derajat
keutamaan tertinggi. Dengan kurung bersarang (nested), operator-operator yang dimuat di dalam pasangan kurung
terdalam diterapkan terlebih dahulu.
2.
Eksponensiasi atau pemangkatan diterapkan
berikutnya. Jika sebuah ekspresi memuat beberapa operasi pemangkatan,
operator-operator tersebut diterapkan dari kiri ke kanan.
3.
Unary positif dan negatif, + dan -, diterapkan
selanjutnya. Jika sebuah ekspresi memuat beberapa operasi tanda, maka
operator-operator tersebut diterapkan dari kiri ke kanan. Operasi tanda + dan –
memiliki derajat keutamaan yang sama.
4.
Operasi perkalian dan pembagian titik-mengambang
diterapkan berikutnya. Jika sebuah ekspresi memuat beberapa operasi perkalian
dan pembagian titik-mengambang, maka operator-operator tersebut diterapkan dari
kiri ke kanan. Operasi perkalian dan pembagian titik-mengambang memiliki
derajat keutamaan yang sama.
5.
Pembagian Integer
diterapkan berikutnya. Jika sebuah ekspresi memuat beberapa operasi pembagian Integer, maka operator-operator
tersebut diterapkan dari kiri ke kanan.
6.
Operasi modulus diterapkan berikutnya. Jika sebuah
ekspresi memuat beberapa operasi modulus, maka operator-operator tersebut
diterapkan dari kiri ke kanan.
7. Operasi
penjumlahan dan pengurangan diterapkan terakhir. Jika sebuah ekspresi memuat
beberapa operasi penjumlahan dan pengurangan, maka operator-operator tersebut
diterapkan dari kiri ke kanan. Operasi penjumlahan dan pengurangan memiliki
derajat keutamaan yang sama.
Aturan keutamaan operator memampukan
operator-operator Visual Basic diterapkan dengan urutan yang benar. Ketika
dikatakan bahwa operator-operator diterapkan dari kiri ke kanan, maka hal itu
berkaitan dengan asosiatifitas operator. Jika terdapat beberapa operator yang
memiliki derajat keutamaan yang sama, urutan penerapan operator ditentukan oleh
asosiatifitas operator. Gambar 2.12 mencantumkan beberapa aturan keutamaan
operator.
Operator
|
Operasi
|
Urutan Evaluasi (Keutamaan)
|
()
^
+, -
*, /
\
Mod
+, -
|
Kurung
Eksponensiasi
Operasi tanda
Perkalian dan pembagian
Pembagian Integer
Modulus
Penjumlahan dan pengurangan
|
Dievaluasi terlebih dahulu. Jika
kurung dibuat bersarang, maka ekspresi di dalam sepasang kurung yang paling
dalam dievaluasi terlebih dahulu. Jika terdapat beberapa pasang kurung pada
level yang sama (tidak bersarang), maka dievaluasi dari kiri ke kanan.
Dievaluasi berikutnya (urutan kedua).
Jika terdapat beberapa operator serupa, maka dievaluasi dari kiri ke kanan.
Dievaluasi berikutnya (urutan
ketiga). Jika terdapat beberapa operator serupa, maka dievaluasi dari kiri ke
kanan.
Dievaluasi berikutnya (urutan
keempat). Jika terdapat beberapa operator serupa, maka dievaluasi dari kiri
ke kanan.
Dievaluasi berikutnya (urutan
kelima). Jika terdapat beberapa operator serupa, maka dievaluasi dari kiri ke
kanan.
Dievaluasi berikutnya (urutan
keenam). Jika terdapat beberapa operator serupa, maka dievaluasi dari kiri ke
kanan.
Dievaluasi terakhir. Jika terdapat
beberapa operator serupa, maka dievaluasi dari kiri ke kanan.
|
Gambar 2.12 Derajat
keutamaan operator-operator aritmatik
Perhatikan bahwa, pada tabel,
dijelaskan mengenai kurung bersarang. Tidak semua ekspresi dengan beberapa
pasang kurung memuat kurung bersarang. Sebagai contoh, meskipun ekspresi
a * ( b + c ) + c
* ( d + e )
memuat beberapa pasang kurung, tetapi
tidak ada kurung bersarang. Kedua pasang kurung pada ekspresi tersebut berada
pada level yang sama.
Akan disajikan beberapa ekspresi untuk
menjelaskan aturan keutamaan operator. Setiap contoh memberikan ekspresi
aljabar dan ekspresi Visual Basic ekivalennya. Berikut adalah sebuah contoh
dari rerata aritmatik atas lima suku:
Aljabar :
Visual Basic : m = (a + b + c + d + e) /
5
Pada ekspresi tersebut, sepasang kurung
diperlukan, karena pembagian titik-mengambang mempunyai keutamaan lebih tinggi
daripada penjumlahan. Kuatitas keselurutan (a + b + c + d + e) akan dibagi dengan 5. Jika kurung tersebut diabaikan, maka yang didapatkan adalah a + b + c + d + e/5, yang dievaluasi sebagai
Berikut adalah sebuah persamaan garis
lurus:
Alajabar :
Visual Basic : y = m*x + b
Tidak diperlukan adanya kurung.
Perkalian diterapkan terlebih dahulu, karena perkalian memiliki derajat
keutamaan lebih tinggi dari penjumlahan. Penugasan terjadi di akhir karena ia
mempunyai derajat keutamaan lebih rendah dari perkalian dan penjumlahan.
Contoh berikut memuat operasi, modulus
(Mod), perkalian, pembagian,
penjumlahan, dan pengurangan (akan digunakan % untuk merepresentasikan modulus
dalam aljabar):
Aljabar :
Angka-angka yang dilingkari di bawah
statemen mengindikasikan urutan dimana operator-operator Visual Basic
diterapkan. Operator perkalian dan pembagian dievaluasi terlebih dahulu dengan
urutan dari kiri ke kanan (karena keduanya berasosiasi dari kiri ke kanan).
Operator modulus diterapkan berikutnya. Operator penjumlahan dan pengurangan
diterapkan selanjutnya, dari kiri ke kanan. Operator penugasan diterapkan
terakhir.
Untuk lebih memahami aturan derajat
keutamaan operator, perhatikan bagaimana sebuah polinomial derajat kedua
dievaluasi:
Angka-angka yang dilingkari di bawah
statemen mengindikasikan urutan dimana operator-operator Visual Basic
diterapkan. Dalam Visual Basic,
direpresentasikan sebagai x^2.
Sekarang, dimisalkan bahwa a, b, c, dan
x diinisialisasi sebagai berikut: a = 2, b = 3, c = 7, dan x = 5. Gambar 2.13
mengilustrasikan urutan dimana operator-operator Visual Basic diterapkan.
Pembuatan
Keputusan: Operator Ekualitas dan Relasional
Bagian ini akan mengintroduksi struktur
If/Then dalam Visual Basic, yang
mengijinkan sebuah program untuk membuat keputusan berdasarkan kebenaran atau
kesalahan suatu ekspresi. Ekspresi di dalam struktur If/Then dikenal dengan kondisi. Jika kondisi dipenuhi (kondisi
bernilai true), maka statemen di dalam tubuh struktur If/Then akan dieksekusi. Jika kondisi tidak dipenuhi (kondisi
bernilai false), maka tubuh statemen tidak akan dieksekusi. Kondisi dalam
struktur If/Then dapat dibentuk
menggunakan operator ekualitas dan operator relasional, yang ditunjukkan pada
Gambar 2.14. Semua operator relasional dan ekualitas memiliki level keutamaan
yang sama dan berasosiasi dari kiri ke kanan.
Gambar 2.13 Urutan dimana sebuah polinomial
derajat kedua dievaluasi
Operator ekualitas dan operator relasional aljabar
|
Operator ekualitas dan operator relasional Visual Basic
|
Contoh kondisi Visual Basic
|
Arti kondisi Visual Basic
|
Operator ekualitas
=
Operator relasional
>
<
|
=
<>
>
<
>=
<=
|
x = y
x <> y
x > y
x < y
x >= y
x <= y
|
x sama dengan y
x tidak sama dengan y
x lebih besar dari y
x lebih kecil dari y
x lebih besar atau sama dengan y
x lebih kecil atau sama dengan y
|
Gambar 2.14 Operator
relasional dan ekualitas
Contoh berikutnya menggunakan enam
statemen If/Then untuk membandingkan
dua angka yang dimasukkan ke dalam sebuah program oleh pengguna. Jika kondisi
di dalam salah satu statemen If/Then
bernilai true, maka statemen keluaran yang berkaitan dengan If/Then tersebut akan dieksekusi.
Pengguna memasukkan dua angka yang diminta, yang akan dikonversi menjadi
Integer dan disimpan dalam variabel angka1
dan angka2. Perbandingan kemudian dilakukan
dan hasilnya ditampilkan pada command
window. Program dan keluarannya ditampilkan pada Gambar 2.15.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
' Kode 2.4: Perbandingan.vb
' Menggunakan operator ekualitas dan relasional.
Module modPerbandingan
Sub Main()
' mendeklarasikan dua
variabel Integer untuk masukan pengguna
Dim angka1, angka2 As
Integer
' membaca angka pertama
dari pengguna
Console.Write("Silahkan masukkan integer pertama:
")
angka1 =
Console.ReadLine()
' membaca angka kedua dari
pengguna
Console.Write("Silahkan masukkan integer kedua:
")
angka2 =
Console.ReadLine()
If angka1 = angka2 Then
Console.WriteLine("{0} =
{1}", angka1, angka2)
End If
If angka1 <> angka2
Then
Console.WriteLine("{0}
<> {1}", angka1, angka2)
End If
If
angka1 < angka2 Then
Console.WriteLine("{0}
< {1}", angka1, angka2)
End If
If angka1 > angka2 Then
Console.WriteLine("{0} > {1}", angka1, angka2)
End If
If angka1 <= angka2 Then
Console.WriteLine("{0}
<= {1}", angka1, angka2)
End If
If angka1 >= angka2 Then
Console.WriteLine("{0}
>= {1}", angka1, angka2)
End If
End Sub ' Main
End Module ' modPerbandingan
|
Silahkan masukkan integer pertama: 1000
Silahkan masukkan integer kedua: 2000
1000 <> 2000
1000 < 2000
1000 <= 2000
|
Silahkan masukkan integer pertama: 515
Silahkan masukkan integer kedua: 49
515 <> 49
515 > 49
515 >= 49
|
Silahkan masukkan integer pertama: 333
Silahkan masukkan integer kedua: 333
333 = 333
333 <= 333
333 >= 333
|
Baris 9 mendeklarasikan dua variabel
yang digunakan dalam prosedur Main.
Pada baris ini, dua variabel bertipe Integer
dideklarasikan. Ingat bahwa variabel bertipe sama dapat dideklarasikan dalam
satu deklarasi. Ingat pula bahwa, ketika lebih dari satu variabel ditempatkan
dalam suatu deklarasi, semua variabel dipisahkan dengan koma.
Baris 13 dan 17 keduanya membaca masukan
dari pengguna, mengkonversi masukan menjadi tipe Integer dan menugaskan
nilainya kepada variabel (angka1 dan
angka2).
Struktur If/Then pada baris 19-21 membandingkan nilai dari variabel angka1 dan nilai dari angka2. Jika kedua nilai sama, maka
program menampilkan String pada
argumen WriteLine pada baris 20.
Jika angka1 memuat nilai 1000 dan angka2 memuat nilai 1000, maka
ekspresi akan dievaluasi sebagai berikut: angka1
dan angka2 akan dikonversi menjadi String, yang ditempatkan di dalam
string “{0} = {1}” menggantikan
format {0} dan {1}. Pada titik ini, String,
katakanlah “1000 = 1000”, dikirim
kepada WriteLine untuk ditampilkan. Sebagai
contoh, ketika diberikan nilai 1000
untuk angka1 dan angka2, maka kondisi If/Then pada baris 35 (<=) dan 39 (>=) juga bernilai true. Sehingga, keluaran yang ditampilkan
adalah
1000 = 1000
1000 <= 1000
1000 >= 1000
Menggunakan
Dialog untuk Menampilkan Pesan
Meskipun program-program yang telah
didiskusikan sejauh ini menampilkan keluaran pada command window, kebanyakan program Visual Basic menggunakan dialog
untuk menampilkan keluaran. Dialog merupakan jendela yang secara umum
menampilkan pesan kepada pengguna. Visual Basic menyediakan kelas MessageBox untuk menciptakan dialog.
Program pada kode 2.5 menggunakan sebuah dialog untuk menampilkan akar kuadrat
dari 2.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
' Kode 2.5: AkarKuadrat.vb
' Menampilkan akar kuadrat dari2 dalam dialog.
Imports System.Windows.Forms '
namespace yang memuat MessageBox
Module modAkarKuadrat
Sub Main()
' menghitung akar kuadrat
dari 2
Dim akar As Double =
Math.Sqrt(2)
' menampilkan hasil dalam
dialog
MessageBox.Show("Akar kuadrat dari 2 adalah "
& akar, _
"Akar Kuadrat dari 2")
End Sub ' Main
End Module ' modAkarKuadrat
|
Gambar 2.15 Menampilkan teks dalam dialog
Baris 11 memanggil metode Sqrt dari kelas Math untuk menghitung akar kuadrat atas 2. Nilai baliknya adalah
angka titik-mengambang, jadi dideklarasikan variabel akar bertipe Double.
Tipe data Double menyimpan angka-angka titik-mengambang (pecahan), seperti
2.3456 dan -865.323. Perhatikan bahwa dideklarasikan dan diinisialisasi akar pada satu baris.
Baris 14-15 memanggil metode Show dari kelas MessageBox. Metode ini mengambil dua argumen. Argumen pertama
adalah String yang ditampilkan pada
dialog. Argumen kedua adalah String
yang ditampilkan pada batang judul dialog.
Pada kasus ini, argumen pertama pada
metode Show adalah ekspresi
Akar kuadrat dari 2 adalah
yang menggunakan operator penyambungan
string, &, untuk menggabungkan
sebuah String (literal “Akar kuadrat dari 2 adalah “) dengan
nilai dari variabel akar (variabel Double
yang memuat akar kuadrat dari 2). Operator penyambungan string adalah operator
biner yang digunakan untuk menyambung dua String.
Operasi ini menghasilkan sebuah String
yang lebih panjang. Jika argumen yang diberikan kepada operator penyambungan
string tidak bertipe String, maka
program akan menciptakan representasi String
atas argumen tersebut.
Ketika dieksekusi, baris 14-15
menampilkan dialog yang ditunjukkan pada Gambar 2.15. Dialog tersebut memiliki
sebuah tombol OK yang mengijinkan pengguna untuk keluar dari dialog dengan
memposisikan pointer mouse dan
menekan ENTER. Ketika tombol tersebut diklik, program akan berhenti.
Banyak kelas yang disediakan oleh
Visual Basic .NET (seperti MessageBox)
harus ditambahkan terlebih dahulu ke dalam projek sebelum digunakan dalam
program. Kelas-kelas terkompilasi tersebut dilokasikan di dalam sebuah file,
yang dikenal dengan assembly, berekstensi .dll (dynamic link library).
Informasi tentang assembly dapat ditemukan
dalam dokumentasi Visual Studio .NET (yang juga dikenal dengan MSDN Documentation). Cara termudah untuk
mencari lokasi informasi ini adalah dengan memilih Help > Index... untuk menampilkan dialog Index (Gambar 2.16).
Gambar 2.16 Mendapatkan dokumentasi sebuah kelas
menggunakan dialog Index
Ketikkan nama kelas pada Look for. Berikutnya, kli MessageBox
class untuk menampilkan dokumentasi untuk kelas MessageBox (Gambar 2.17).
Gambar 2.17 Dokumentasi untuk kelas MessageBox
Adalah hal penting untuk menambahkan
sebuah referensi kepada assembly ini (dengan menempatkan folder References pada Solution Explorer) jika Anda ingin menggunakan kelas MessageBox pada program. Visual Studio
menyediakan cara sederhana untuk melakukannya.
Untuk menambahkan sebuah referensi pada
projek, klik kanan projek Anda pada Solution
Explorer dan pilih Add Reference,
seperti ditunjukkan pada Gambar 2.18.
Gambar 2.18 Menambahkan sebuah referensi pada
assembly dalam IDE Visual Studio
Latihan
1.
Tulislah statemen Visual Basic untuk melakukan
tugas berikut:
a) Menampilkan
pesan “Danau Toba” menggunakan kelas
MessageBox.
b) Tugaskan hasil
dari perkalian variabel angka dan
variabel dataPengguna kepada
variabel hasil.
c) Berikan
komentar bahwa program
melakukan perhitungan penggajian sederhana.
2.
Apakah yang ditampilkan pada tiap statemen
berikut? Asumsikan bahwa nilai dari x
adalah 2 dan nilai dari y adalah 3.
a)
MessageBox.Show("x", x)
b)
MessageBox.Show((x + x), _
"(x + x)")
c)
MessageBox.Show("x + y")
d)
MessageBox.Show( _
(x + y), (y + y))
3.
Diberikan
, manakah dari berikut yang merupakan statemen yang benar untuk
persamaan ini?
a)
z = 8 *
e ^ 5 – n
b)
z = ( 8
* e ) ^ 5 – n
c)
z = 8 *
( e ^ 5 ) – n
d)
z = 8 *
e ^ ( 5 - n )
e) z = ( 8 * e ) ^ ( ( 5 ) - n )
f)
z = 8 *
e * e ^ 4 - n
4.
Tunjukkan urutan evaluasi dari operator-operator
pada tiap statemen Visual Basic berikut, dan tunjukkan nilai dari x.
a)
x = 7 +
3 * 3 \ 2 – 1
b)
x = 2
Mod 2 + 2 * 2 - 2 / 2
c)
x = ( 3
* 9 * ( 3 + ( 9 * 3 / ( 3 ) ) ) )
5. Apakah yang
ditampilkan kode berikut:
Console.Write("*")
Console.Write("***")
Console.WriteLine("*****")
Console.Write("****")
Console.WriteLine("**")
6. Apakah yang
ditampilkan kode berikut:
Console.WriteLine("
{0}", " * ")
Console.WriteLine("
{0}", " * *")
Console.WriteLine("
{0}*{1}", " * ", " *")
Console.WriteLine("
* *{0}* *", " ")
Console.WriteLine("{1}*{0} *",
" * *", "* ")
No comments:
Post a Comment