Saturday, December 24, 2016

Bab 2. Visual Basic .NET Belajar Dari Contoh



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 String45” 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  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