BAB I PENDAHULUAN Setelah melaksanakan praktikum pada bab ini diharapkan mahasiswa dapat : ♫ Membuat project aplikasi baru dengan Visual Basic .NET ♫ Memahami prinsip design graphical user interfaces ♫ Mengenal konsep events secara sederhana ♫ Mengkonversikan aplikasi menjadi executable windows application
Teori Singkat Membuat aplikasi dengan Visual Basic .NET sangat sederhana. Hanya dengan 3 langkah dasar, akan didapat aplikasi yang selanjutnya dapat dijalankan tanpa memerlukan lingkungan pemrograman Visual Basic .NET. 3 langkah dasar tersebut adalah : Membuat antarmuka pengguna (user interface) dari aplikasi Menuliskan kode program (source code) dari aplikasi yang akan membuat aplikasi menjalankan apa yang seharusnya dikerjakan. Meng-kompile aplikasi menjadi file yang executable sehingga dapat dijalankan sebagai aplikasi yang berdiri sendiri (standalone)
Latihan 1.1 1. Awali selalu pekerjaan dgn doa, mudah-mudahan diberi kemudahan dan dapat memberikan manfaat 2. Jalankan Microsoft Visual Studio .NET atau Microsoft Visual Basic .NET 3. Buat Project baru dengan : Klik menu File → New → New Project
Langkah 3
Langkah 4 Langkah 5
Gambar 1.1
Langkah 6
4. Pada kotak dialog New Project, pilih tipe aplikasi yang akan dibuat yaitu Windows Application (lihat gambar 1.1) 5. Tentukan name dari aplikasi : AplikasiSelamatDatang 6. Tentukan location dimana aplikasi akan disimpan (sesuaikan dgn aturan pada lab) 7. Setelah menentukan tipe aplikasi, nama serta lokasi dimana akan disimpan → Klik tombol OK 8. Kenali sekilas lingkungan pengembangan terintegrasi Visual Basic .NET (lihat gambar 1.2) 9. Cari bagian yang disebut menubar 10. Cari bagian yang disebut toolbar 11. Cari bagian yang disebut tabs 12. Cari bagian yang disebut form (window application) 13. Cari bagian yang disebut solution explorer 14. Cari bagian yang disebut toolbox 15. Cari bagian yang disebut properties window Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
1
toolbar
menubar
tabs
Form
Solution Explorer
toolbox
Properties window
Gambar 1.2 16. Design User Interface dengan menambahkan 1 buah label dan 2 buah button dari Toolbox ke dalam Form. Susun sehingga di dapat tampilan sbb :
1
2
3
17. Atur properties pada controls melalui properties window dengan aturan sesuai tabel 1.1 Contoh :
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
2
Tabel 1.1 Control Form 1 (Label)
2 (Button1) 3 (Button2)
Properties Name Text Name Text TextAlign Font – Name Font – Size Font – Bold ForeColor Name Text TextAlign Name Text TextAlign
Nilai frmSelamatDatang Aplikasi Selamat Datang lblKet Selamat Datang di VB .NET MiddleCenter Times New Roman 12 True Red btnKet1 Keterangan 1 MiddleCenter btnKet2 Keterangan 2 MiddleCenter
18. Setelah pengaturan properties akan didapat tampilan sbb :
Gambar 1.5 19. Tambahkan kode dengan Double Click pada btnKet1, tambahkan kode untuk event btnKet1_Click menjadi sbb :
Private Sub btnKet1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnKet1.Click lblKet.Text = "Selamat Datang di VB .NET" End Sub
20. Double Click pada btnKet2, tambahkan kode untuk event btnKet2_Click menjadi sbb :
Private Sub btnKet2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnKet2.Click lblKet.Text = "Nikmati kemudahan membuat aplikasi" End Sub
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
3
21. Atur startup object dari project menjadi frmSelamatDatang melalui menubar : Project → AplikasiSelamatDatang properties
22. Coba jalankan aplikasi dengan click button start pada toolbar
,
atau dengan
menekan tombol F5 pada keyboard
23. Tutup kembali aplikasi 24. Selanjutnya untuk mengkonversi aplikasi menjadi file executable (.exe); melalui menubar klik Build → Build AplikasiSelamatDatang
25. Proses konversi akan berjalan singkat karena aplikasi masih sederhana. Cari file executable (AplikasiSelamatDatang.exe) hasil konversi dan coba jalankan (biasanya terdapat di folder \bin lokasi penyimpanan project). Dari proses konversi didapatkan aplikasi exe yang dapat berjalan tanpa memerlukan VB .NET 26. Simpan project anda dengan clik save all
pada toolbar
27. Pelajari kembali dan pahami langkah dasar yang dilakukan untuk membuat aplikasi !
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
4
Tugas 1.1 1. Buat Project baru tipe window application dengan nama TugasSatu1. Aplikasi TugasSatu1 ketika awal dijalankan akan menampilkan Nim, Nama serta Kelas anda. Didalamnya terdapat pula 2 buat tombol : 1 – Tombol Tampilkan : jika di click berfungsi untuk menampilkan Nim, Nama, Kelas seperti ketika awal berjalan 2 – Tombol Kosongkan : jika di click berfungsi untuk mengosongkan Nim, Nama, Kelas (tampilan kosong) 2. Buat file TugasSatu1.exe dari project TugasSatu1 Keterangan : anda mungkin membutuhkan 3 buat control label serta 2 buah control button atau terserah bagaimana anda memahami tugas ini
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
5
BAB II VARIABEL, I/O, TIPE DATA Setelah melaksanakan praktikum pada bab ini diharapkan mahasiswa dapat : ♫ Mengenal variabel serta cara pendeklarasiannya ♫ Menguasai proses input dan output ♫ Mengenal berbagai tipe data serta penggunaannya ♫ Mengenal berbagai operator aritmatika serta penggunaannya ♫ Mengetahui cara penggabungan string
Teori Singkat Ketika data dimasukan ke dalam komputer, maka data tersebut akan disimpan dalam memori. Variabel sesungguhnya adalah box memory dengan nama tertentu. Variabel dapat di deklarasikan dalam berbagai tipe. Untuk mendeklarasikan variabel dilakukan dengan sintaks sbb : Dim namaVariabel as TipeVariabel Contoh : Dim umur as Integer Dim nama as String
→ mendeklarasikan variabel umur dengan tipe data Integer → mendeklarasikan variabel nama dengan tipe data String
Variabel dapat digunakan untuk menerima input. Untuk input dapat digunakan berbagai control yang ada misal TextBox. umur = TextBox1.Text
→ memasukan nilai properties Text dari TextBox1 ke dalam variabel umur
Juga dapat digunakan sebagai output, misal : TextBox1.Text = umur
→ memberikan nilai variabel umur ke dalam properties Text dari TextBox1
Untuk variabel dengan tipe numeric dapat dilakukan operasi aritmatika pada variabel tsb. Dalam VB .NET operator aritmatika yang tersedia terlihat pada tabel 2.1. Tabel 2.1 Operasi
Operator
Ekspresi
Penambahan
+
a+b
Pengurangan
-
a–b
Perkalian
*
a*b
Pembagian (float)
/
a/b
Pembagian (Integer)
\
a\b
Mod
a Mod b
Pangkat / Eksponensial
^
a^b
Unary negatif
-
-a
Unary Positif
+
+b
Modulus
Sedangkan untuk varibel String, dapat dilakukan operasi penggabungan String. Misal : Dim x as String Dim y as String Dim z as String
→ mendeklarasikan variabel x dengan tipe data String → mendeklarasikan variabel y dengan tipe data String → mendeklarasikan variabel z dengan tipe data String
x = “Selamat Sore” y = “Emha” z=x&““&y
→ nilai z = “Selamat Sore Emha”
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
6
Latihan 2.1 1. Awali selalu pekerjaan dgn doa, mudah-mudahan diberi kemudahan dan dapat memberikan manfaat 2. Buat Project baru Visual Basic .NET tipe : window application, nama : AplikasiLatihanDua1, tentukan pula lokasi penyimpanan (sesuai aturan lab) 3. Design User Interface dengan menambahkan 3 buah Label, 4 buah TextBox, 1 buah ComboBox, 1 buah ListBox serta 1 buah Button dari Toolbox ke dalam Form. Susun sehingga di dapat tampilan seperti pada gambar 2.1.
1
4
2
5
3 6
7 8 9 10
Gambar 2.1 4. Atur property semua control mengikuti tabel 2.2 Tabel 2.2 Control Form 1 2 3 4 5
Properties Name Text Name Text Name Text Name Text Name Text Name Items
6
Name Items
7
Name Text ReadOnly
Nilai frmLatihanDua1 Latihan 2.1 lblNama Nama lblPendidikan Pendidikan lblPekerjaan Pekerjaan txtNama ( kosongkan ! ) cbPendidikan SD SMP SMA Diploma Sarjana lstPekerjaan Pedagang PNS Guru Swasta ABRI txtPesan1 ( kosongkan ! ) True
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
7
8
9
10
Name Text ReadOnly Name Text ReadOnly Name Text
txtPesan2 ( kosongkan ! ) True txtPesan3 ( kosongkan ! ) True btnOK OK
5. Setelah pengaturan properties akan didapat tampilan sbb :
Gambar 2.2 6. Tambahkan kode dengan Double Click pada btnOK, tambahkan kode untuk event btnOK_Click menjadi sbb :
Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click Dim nama As String Dim pendidikan As String Dim pekerjaan As String nama = txtNama.Text pendidikan = cbPendidikan.Text pekerjaan = lstPekerjaan.SelectedItem txtPesan1.Text = "Halo " & nama txtPesan2.Text = "Pendidikan Anda " & pendidikan & " Ya ?" txtPesan3.Text = "Anda seorang " & pekerjaan & ", Hebat !!!" End Sub
7. Atur startup object dari project menjadi frmLatihanDua1 melalui menubar : Project → AplikasiLatihanDua1 properties
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
8
8. Coba jalankan aplikasi dengan click button start pada toolbar
,
atau dengan
menekan tombol F5 pada keyboard
Gambar 2.3 9. Coba kompile aplikasi untuk mendapatkan AplikasiLatihanDua1.exe 10. Simpan project anda dengan clik save all
pada toolbar
11. Pelajari !
Latihan 2.2 1. Buat Project baru Visual Basic .NET tipe : window application, nama : AplikasiLatihanDua2, tentukan pula lokasi penyimpanan (sesuai aturan lab) 2. Design User Interface dengan menambahkan 6 buah Label, 4 buah TextBox, serta 1 buah Button dari Toolbox ke dalam Form. Susun sehingga di dapat tampilan seperti pada gambar 2.4.
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
9
Gambar 2.4
3. Atur property untuk form saja mengikuti tabel 2.2 Tabel 2.3 Control Form
Properties
Nilai
Name Text
frmLatihanDua2 Latihan 2.2
4. Setelah pengaturan properties akan didapat tampilan sbb :
Gambar 2.5 5. Selanjutnya tambahkan kode untuk event frmLatihanDua2_Load dengan Double Click pada Form dan tambahkan kode menjadi sbb :
Private Sub frmLatihanDua2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Label1.Text = "Makanan dibeli" Label2.Text = "Minuman dibeli" Label3.Text = "Harga Satuan" Label4.Text = Label5.Text = Label6.Text = TextBox1.Text TextBox2.Text
"Harga Satuan" "" "" = "0" = "0"
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
10
TextBox3.Text = "0" TextBox4.Text = "0" Button1.Text = "Hitung" End Sub
6. Double Click pada button1, tambahkan kode untuk event Button1_Click menjadi sbb :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim Dim Dim Dim Dim Dim
jmlMakanan As Integer jmlMinuman As Integer hrgSatuanMakanan As Single hrgSatuanMinuman As Single rerata As Single total As Single
jmlMakanan = CInt(TextBox1.Text) jmlMinuman = CInt(TextBox2.Text) hrgSatuanMakanan = CSng(TextBox3.Text) hrgSatuanMinuman = CSng(TextBox4.Text)
Satu baris
rerata = (hrgSatuanMakanan + hrgSatuanMinuman) / 2 total = (jmlMakanan * hrgSatuanMakanan) + (jmlMinuman * hrgSatuanMinuman) Label5.Text = "Harga rata-rata makanan dan minuman : " & rerata Label6.Text = "Nilai total pembelian : " & total End Sub
7. Atur startup object dari project menjadi frmLatihanDua2 melalui menubar : Project → AplikasiLatihanDua2 properties 8. Coba jalankan aplikasi dengan click button start pada toolbar
, atau dengan
menekan tombol F5 pada keyboard
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
11
9. Coba kompile aplikasi untuk mendapatkan AplikasiLatihanDua2.exe 10. Simpan project anda dengan clik save all
pada toolbar
11. Pelajari !
Tugas 2.1 1. Buat Project baru tipe window application dengan nama TugasDua1. Aplikasi TugasDua1 meminta input dua buah bilangan integer (misal : a dan b). Kemudian memberikan nilai hasil operasi penjumlahan, pengurangan, perkalian, pembagian, pembagian integer, eksponensial, serta modulus dari kedua bilangan tersebut
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
12
BAB III KONDISI BERSYARAT Setelah melaksanakan praktikum pada bab ini diharapkan mahasiswa dapat : ♫ Menguasai penggunaan kondisi bersyarat untuk mengatur alur aplikasi ♫ Menguasai penggunaan if, else, elseif, select case ♫ Menguasai penggunaan operator relasional dalam kondisi bersyarat ♫ Menguasai penggunaan operator logical dalam kondisi bersyarat
Teori Singkat Kondisi bersyarat merupakan suatu kondisi yang mana dilakukan analisa terhadap data untuk menentukan alur aplikasi selanjutnya (Atau dengan kata lain menentukan bagian kode program yang mana yang selanjutnya harus dijalankan). Contoh kondisi bersyarat : Jika nilai anda lebih dari lima maka anda lulus Jika nilai anda kurang dari atau sama dengan lima maka anda harus mengulang ujian Sintaks untuk membentuk kondisi bersyarat secara sederhana adalah : If ( syarat ) then Statement End if Atau ketika syarat merupakan suatu kondisi yang bertingkat dapat digunakan sintaks : If ( syarat1 ) then Statement1 ElseIf ( syarat2 ) then Statement2 ElseIf ( syarat3 ) then Statement3 Else Statement4 End if Selain menggunakan if, else, dan elseif, kondisi bersyarat dapat dibentuk menggunakan statement select case dengan sintaks : Select case (syarat) Case (kondisi1) Statement 1 Case (kondisi2) Statement 2 Case Else Statement 3 End Select Didalam membentuk syarat dapat digunakan operator relasional (tabel 3.1) dan juga operator logical (tabel 3.2) Tabel 3.1 Operasi
Operator
Ekspresi
=
5 = (4-1) atau “TL” = “TL”
<>
4 <> (5-2) atau “MH” <> “TL”
Kurang dari
<
5 < 7 atau “A” < “B”
Lebih dari
>
78 > 3 atau “C” > “A”
Kurang dari atau Sama dengan
<=
5 <= 6 atau “OK” <= “OK”
Lebih dari atau Sama dengan
>=
8 >= 8 atau “K” >= “B”
Sama dengan Tidak Sama dengan
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
13
Tabel 3.2 Operator
Arti
And
Benar jika semua kondisi benar
Or
Benar jika salah satu atau semua kondisi benar
Xor
Benar hanya jika salah satu kondisi benar
Not
Kebalikan dari kondisi yang anda (not Benar adalah Salah)
Latihan 3.1 1. Awali selalu pekerjaan dgn doa, mudah-mudahan diberi kemudahan dan dapat memberikan manfaat 2. Buat Project baru Visual Basic .NET tipe : window application, nama : AplikasiLatihanTiga1, tentukan pula lokasi penyimpanan (sesuai aturan lab) 3. Design User Interface dengan menambahkan 3 buah Label, 4 buah TextBox, 1 buah ComboBox, 1 buah ListBox serta 1 buah Button dari Toolbox ke dalam Form. Susun sehingga di dapat tampilan seperti pada gambar 3.1
1
2
3
Gambar 3.1 4. Atur property mengikuti tabel 3.3 Tabel 3.3 Control Form 1 2 3
Properties Name Text Name Text Name Text Name Text
Nilai frmLatihanTiga1 Latihan 3.1 lblNilai Nilai txtNilai ( Kosongkan ! ) btnProses Proses
5. Setelah pengaturan properties akan didapat tampilan sbb :
Gambar 3.2
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
14
6. Double Click pada btnProses, tambahkan kode untuk event Button1_Click menjadi sbb :
Private Sub btnProses_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnProses.Click
Satu baris
If CInt(txtNilai.Text) > 5 Then MessageBox.Show("Selamat Anda lulus", "Hasil", MessageBoxButtons.OK, MessageBoxIcon.Information) Else MessageBox.Show("Maaf anda harus mengulang ujian", "Hasil", MessageBoxButtons.OK, MessageBoxIcon.Information) End If End Sub
12. Atur startup object dari project menjadi frmLatihanTiga1 melalui menubar : Project → AplikasiLatihanTiga1 properties 13. Coba jalankan aplikasi dengan click button start pada toolbar
, atau dengan
menekan tombol F5 pada keyboard
Gambar 3.3 14. Coba kompile aplikasi untuk mendapatkan AplikasiLatihanTiga1.exe 15. Simpan project anda dengan clik save all
pada toolbar
16. Pelajari !
Latihan 3.2 1. Buat Project baru Visual Basic .NET tipe : window application, nama : AplikasiLatihanTiga2, tentukan pula lokasi penyimpanan (sesuai aturan lab) 2. Design User Interface dengan menambahkan 2 buah Label, 1 buah TextBox, 1 buah ComboBox serta 1 buah Button dari Toolbox ke dalam Form. Susun sehingga di dapat tampilan seperti pada gambar 3.4
1
2
3
4 5
Gambar 3.4
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
15
3. Atur property untuk form mengikuti tabel 3.4 Tabel 3.4 Control Form 1 2 3
4 5
Properties Name Text Name Text Name Text Name Text Items (beri satu item kosong diurutan pertama) Name Text Name Text
Nilai frmLatihanTiga2 Latihan 3.2 lblNmBarang Barang dibeli lblJmlBeli Jumlah beli cbNmBarang ( Kosongkan ! ) Minuman Makanan txtJmlBeli ( Kosongkan ! ) btnProses Proses
7. Setelah pengaturan properties akan didapat tampilan sbb :
Gambar 3.5 8. Double Click pada Form, tambahkan kode untuk event frmLatihanTiga2_Load menjadi sbb :
Private Sub frmLatihanTiga2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load txtJmlBeli.Text = "" txtJmlBeli.ReadOnly = True btnProses.Enabled = False End Sub
9. Double Click pada cbNmBarang, tambahkan kode untuk event cbNmBarang_TextChanged menjadi sbb :
Private Sub cbNmBarang_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cbNmBarang.TextChanged txtJmlBeli.ReadOnly = False btnProses.Enabled = True If cbNmBarang.Text.Trim = "" Then txtJmlBeli.Text = "" txtJmlBeli.ReadOnly = True btnProses.Enabled = False End If End Sub
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
16
10. Double Click pada btnProses, tambahkan kode untuk event btnProses_Click menjadi sbb :
Private Sub btnProses_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnProses.Click Dim brgDiBeli As String Dim jml As Integer If IsNumeric(txtJmlBeli.Text) Then brgDiBeli = cbNmBarang.Text jml = CInt(txtJmlBeli.Text) If brgDiBeli = "Minuman" And jml > 5 Then MessageBox.Show("Anda akan mendapat bonus 1 SoftDrink") ElseIf brgDiBeli = "Minuman" Then MessageBox.Show("Anda akan mendapat diskon 10%") Else MessageBox.Show("Terima kasih atas kunjungannya") End If Else MessageBox.Show("Input tidak valid") End If End Sub
11. Atur startup object dari project menjadi frmLatihanTiga2 melalui menubar : Project → AplikasiLatihanTiga2 properties 12. Jalankan aplikasi dgn click button start pada toolbar , atau dengan tombol F5
Gambar 3.6 Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
17
13. Coba kompile aplikasi untuk mendapatkan AplikasiLatihanTiga1.exe 14. Simpan project anda dengan clik save all pada toolbar 15. Pelajari !
Tugas 3.1 1. Buat Project baru tipe window application dengan nama TugasTiga1. Aplikasi TugasTiga1 memiliki fungsi untuk mengecek IPK seorang mahasiswa dan memberikan pesan predikat kelulusan bagi mahasiswa tersebut. IPK 3.51 s.d 4.00 → Cumlaude IPK 2.76 s.d 3.50 → Sangat Memuaskan IPK 2.00 s.d 2.75 → Memuaskan IPK 0.00 s.d 1.99 → Tidak mendapat predikat Dan jika input IPK < 0.00 atau > 4.00 → Muncul Pesan Input Tidak Valid Jika bukan angka (karakter huruf) → Muncul Pesan Input Tidak Valid
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
18
Latihan 3.3 (Mandiri diluar lab) 1. Buat Project baru Visual Basic .NET tipe : window application, nama : AplikasiLatihanTiga3 2. Design User Interface sehingga di dapat tampilan seperti pada gambar 3.8
1 3 2 4 5
Gambar 3.8 3. Atur property mengikuti tabel 3.4 Tabel 3.4 Control Form 1 2 3 4 5
Properties Name Text Name Text Name Text Name Text Name Text Name Text
Nilai frmLatihanTiga3 Latihan 3.3 Mandiri lblNama Nama lblNilai Nilai txtNama ( Kosongkan ! ) txtNilai ( Kosongkan ! ) btnProses Proses
4. Setelah pengaturan properties akan didapat tampilan sbb :
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
19
5. Tambahkan kode untuk event frmLatihanTiga3_Load menjadi sbb :
Private Sub frmLatihanTiga3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load btnProses.Enabled = False End Sub
6. Tambahkan kode untuk event txtNama_TextChanged menjadi sbb :
Private Sub txtNama_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtNama.TextChanged btnProses.Enabled = True If txtNama.Text.Trim = "" Or txtNilai.Text.Trim = "" Then btnProses.Enabled = False End If End Sub
7. Tambahkan kode untuk event txtNilai_TextChanged menjadi sbb :
Private Sub txtNilai_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtNilai.TextChanged btnProses.Enabled = True If txtNama.Text.Trim = "" Or txtNilai.Text.Trim = "" Then btnProses.Enabled = False End If End Sub
8. Tambahkan kode untuk event btnProses_Click menjadi sbb :
Private Sub btnProses_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnProses.Click Select Case txtNama.Text.Trim.ToUpper Case "EMHA" MessageBox.Show("Selamat Datang Emha", "Pesan") Case "TAUFIQ" MessageBox.Show("Selamat Datang Taufiq", "Pesan") Case "LUTHFI" MessageBox.Show("Selamat Datang Luthfi", "Pesan") Case Else MessageBox.Show("Anda siapa ya ???", "Pesan") End Select On Error Resume Next Select Case CInt(txtNilai.Text.Trim) Case Is < 6 MessageBox.Show("Nilai anda kurang dari 6", "Pesan") Case Is < 8 MessageBox.Show("Nilai anda dalam range 6-8 ", "Pesan") Case Is <= 10 MessageBox.Show("Nilai anda dalam range 8-10", "Pesan") Case Else MessageBox.Show("Nilai anda tidak valid", "Pesan") End Select End Sub
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
20
9. Atur startup object dari project menjadi frmLatihanTiga3 melalui menubar : Project → AplikasiLatihanTiga3 properties 10. Jalankan aplikasi dgn click button start pada toolbar
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
,
atau dengan tombol F5
21
BAB IV PERULANGAN Setelah melaksanakan praktikum pada bab ini diharapkan mahasiswa dapat : ♫ Menguasai penggunaan perulangan untuk mengatur alur aplikasi ♫ Menguasai pembentukan perulangan dengan for .. next, Do, While dan Until
Teori Singkat Statement Perulangan memungkin programmer untuk menentukan bagian mana dari program yang harus diulang berdasarkan nilai suatu kondisi. Contoh suatu kondisi berulang : Jika masih terdapat tugas dalam agenda hari ini maka Kerjakan tugas berikutnya Coret tugas tsb dari agenda
Terdapat beberapa sintaks yang dapat digunakan untuk struktur perulangan. 1. Do While .. Loop Sintaks : Do While (kondisi) Statement Perulangan Loop 2. Do Until .. Loop Sintaks : Do Until (kondisi) Statement Perulangan Loop 3. Do .. Loop While Sintaks : Do Statement Perulangan Loop While (kondisi) 4. Do .. Loop Until Sintaks : Do Statement Perulangan Loop Until (kondisi) 5. For .. Next Sintaks : For Counter = nilaiAwal to nilai Akhir step NilaiStep Statement Perulangan Next 6. For Each .. Next ( tidak dibahas saat ini )
Latihan 4.1 1. Awali selalu pekerjaan dgn doa, mudah-mudahan diberi kemudahan dan dapat memberikan manfaat 2. Buat Project baru Visual Basic .NET tipe : window application, nama : AplikasiLatihanEmpat1, tentukan pula lokasi penyimpanan (sesuai aturan lab) 3. Design User Interface dengan menambahkan 2 buah Label, 2 buah ListBox, 4 buah Button dari Toolbox ke dalam Form. Susun sehingga di dapat tampilan seperti pada gambar 4.1 4. Atur property mengikuti tabel 4.1 5. Setelah pengaturan properties akan didapat tampilan seperti pada gambar 4.2
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
22
1
2 4 3
7
6
8
5
Gambar 4.1 Tabel 4.1 Control Form 1 2 3 4 5 6 7 8
Properties Name Text Name Text Name Text Name Name Name Text Name Text Name Text Name Text
Nilai frmLatihanEmpat1 Latihan 4.1 lblRealMadrid Real Madrid lblChelsea Chelsea lstRealMadrid lstChelsea btnRealMadrid Real Madrid btnChelsea Chelsea btnReset Reset btnKeluar Keluar
Gambar 4.2
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
23
6. Tambahkan kode untuk event btnRealMadrid_Click menjadi sbb :
Private Sub btnRealMadrid_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRealMadrid.Click Dim namaPemain As String Dim i As Integer lstRealMadrid.Items.Clear() For i = 1 To 11 namaPemain = InputBox("Nama Pemain Real Madrid ke " & i, "Input") If Trim(namaPemain) = "" Then namaPemain = "-" lstRealMadrid.Items.Add(namaPemain) Next End Sub
7. Tambahkan kode untuk event btnChelsea_Click menjadi sbb :
Private Sub btnChelsea_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnChelsea.Click Dim namaPemain As String Dim i As Integer i = 0 lstChelsea.Items.Clear() Do While i < 11 namaPemain = InputBox("Nama Pemain Chelsea ke " & i + 1, "Input") If Trim(namaPemain) = "" Then namaPemain = "-" lstChelsea.Items.Add(namaPemain) i = i + 1 Loop End Sub
8. Tambahkan kode untuk event btnReset_Click menjadi sbb :
Private Sub btnReset_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnReset.Click lstChelsea.Items.Clear() lstRealMadrid.Items.Clear() End Sub
9. Tambahkan kode untuk event btnKeluar_Click menjadi sbb :
Private Sub btnKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnKeluar.Click Close() End Sub
10. Atur startup object dari project menjadi frmLatihanEmpat1 melalui menubar : Project → AplikasiLatihanEmpat1 properties 11. Jalankan aplikasi dgn click button start pada toolbar
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
, atau dengan tombol F5
24
Gambar 4.3 12. Coba kompile aplikasi untuk mendapatkan AplikasiLatihanEmpat1.exe 13. Simpan project anda dengan clik save all
pada toolbar
14. Pelajari !
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
25
Tugas 4.1 1. Buat Project baru tipe window application dengan nama TugasEmpat1. Aplikasi TugasEmpat1 akan memiliki 1 buah Textbox serta 1 Button. Bila Button di klik akan meminta input angka sejumlah bilangan di Textbox; kemudian menampilkan angka di inputkan dalam Listbox sekaligus memberikan infomasi lain berupa : Jumlah keseluruhan angka di input, Rata-rata keseluruhan angka di input, Angka Terkecil, Angka Terbesar Note : Gunakan perulangan yang sesuai untuk menyelesai semua permasalahan
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
26
BAB V PROSEDUR DAN FUNGSI Setelah melaksanakan praktikum pada bab ini diharapkan mahasiswa dapat : ♫ Menguasai pendeklarasian dan pemanfaatan prosedur ♫ Menguasai pendeklarasian dan pemanfaatan fungsi
Teori Singkat Program yang besar dan mengandung baris kode yang banyak akan sulit untuk dikelola dan dibaca. Menemukan kembali baris kode untuk suatu bagian tertentu mungkin akan susah. Untuk menyelesaikan masalah ini dapat digunakan teknik pemrograman modular yang memecah kode program yang besar menjadi beberapa sub program kecil dengan tugas yang spesifik. Sebagai contoh : Program dengan tugas Membersihkan Rumah. Dapat dipecah menjadi beberapa sub tugas yaitu : -
Membersihkan Ruang Tamu
-
Membersihkan Ruang Tidur
-
Membersihkan Dapur
-
Membersihkan Kamar Mandi
Latihan 4.1 1. Awali selalu pekerjaan dgn doa, mudah-mudahan diberi kemudahan dan dapat memberikan manfaat 2. Buat Project baru Visual Basic .NET tipe : window application, nama : AplikasiLatihanLima1, tentukan pula lokasi penyimpanan (sesuai aturan lab) 3. Design User Interface dengan menambahkan 5 buah Label, 2 buah TextBox, 2 buah DateTimePicker, dan 2 buah Button dari Toolbox ke dalam Form. Susun sehingga di dapat tampilan seperti pada gambar 5.1
1
6
2
7
3
8
4
9
5
10
11
12
Gambar 5.1 4. Atur property mengikuti tabel 5.1 Tabel 5.1 Control Form
Properties Name Text
Nilai frmLatihanLima1 Latihan 5.1
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
27
1 2 3 4 5 6 7
8
9
10 11 12
Name Text Name Text Name Text Name Text Name Text Name Text Name CustomFormat Format Name Text Items
Label1 Nama Label2 Tgl Lahir Label3 Jabatan Label4 Tgl Aktif Jabatan Label5 Gaji Pokok txtNama dtpTglLahir dd/MM/yyyy Custom cbJabatan Direktur Karyawan dtpTglAktif dd/MM/yyyy Custom txtGajiPokok
Name CustomFormat Format Name Text Name Text Name Text
btnProses Proses btnKeluar Keluar
5. Setelah pengaturan properties akan didapat tampilan seperti pada gambar 5.2
Gambar 5.2 6. Ubah tampilan IDE ke code program dengan menekan F7 7. Buat Function baru dengan nama TglIndonesia Function TglIndonesia(ByVal tglLengkap As Date) As String Dim tgl, bln, thn As String tgl = Format(tglLengkap, "dd") bln = Format(tglLengkap, "MM") thn = Format(tglLengkap, "yyyy") Select Case (bln) Case 1 : bln = "Januari"
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
28
Case 2 : bln = "Februari" Case 3 : bln = "Maret" Case 4 : bln = "April" Case 5 : bln = "Mei" Case 6 : bln = "Juni" Case 7 : bln = "Juli" Case 8 : bln = "Agustus" Case 9 : bln = "September" Case 10 : bln = "Oktober" Case 11 : bln = "November" Case 12 : bln = "Desember" End Select Return tgl & " " & bln & " " & thn End Function
8. Buat Function baru dengan nama HitungBonus Function HitungBonus(ByVal gaji As Double) As Double Return 10% * gaji End Function
9. Buat Prosedur baru dengan nama TampilkanPesan Sub TampilkanPesan(ByVal text As String) MessageBox.Show(text, "Pesan", MessageBoxButtons.OK, MessageBoxIcon.Information) End Sub
10. Tambahkan kode untuk event btnProses_Click menjadi sbb :
Private Sub btnProses_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnProses.Click Dim pesan As String pesan = "" pesan &= "Nama" & vbTab & vbTab & ": " & txtNama.Text & vbCrLf pesan &= "Tgl Lahir" & vbTab & vbTab & ": " & _ TglIndonesia(dtpTglLahir.Value) & vbCrLf pesan &= "Jabatan" & vbTab & vbTab & ": " & cbJabatan.Text & vbCrLf pesan &= "Tgl Aktif" & vbTab & vbTab & ": " & _ TglIndonesia(dtpTglAktif.Value) & vbCrLf pesan &= "Gaji Pokok" & vbTab & ": " & txtGajiPokok.Text & vbCrLf pesan &= "Bonus" & vbTab & vbTab & ": " & _ HitungBonus(txtGajiPokok.Text) & vbCrLf TampilkanPesan(pesan) End Sub
11. Tambahkan kode untuk event btnKeluar_Click menjadi sbb :
Private Sub btnKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnKeluar.Click Close() End Sub
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
29
Tugas 5.1 1. Pada AplikasiLatihanLima1, tambahkan : - Prosedur untuk mengecek semua isian tidak boleh kosong - TglLahir harus lebih kecil dari tgl hari ini - TglAktifJabatan harus lebih kecil dari hari ini - Gaji harus angka
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
30
BAB VI PEMROGRAMAN WINDOWS FORM Setelah melaksanakan praktikum pada bab ini diharapkan mahasiswa dapat : ♫ Mengetahui konsep pemrograman windows form ♫ Mengetahui desain Aplikasi SDI dan MDI ♫ Dapat membuat aplikasi MDI berserta sistem menu nya
Teori Singkat Suatu Window adalah antarmuka (interface) antara komputer dan pengguna. Suatu window dapat berupa suatu jendela tempat kumpulan beberapa kontrol dan komponen yang bersama-sama mendukung untuk mengerjakan tugas tertentu. Windows merupakan komponen yang penting dalam suatu aplikasi yang menentukan bagaimana aplikasi itu didesain. Ada 2 (dua) jenis desain aplikasi yaitu: Single Document Interface (SDI) Multi Document Interface (MDI) Single Document Interface SDI adalah desain aplikasi yang terdiri dari satu tampilan windows yang bisa berinteraksi dalam satu waktu. Desain ini cukup mudah di gunakan oleh pengguna yang hanya mengerjakan suatu pekerjaan dalam satu waktu. Gambar konsep SDI bisa dilihat pada gambar di bawah ini.
Multi Document Interface MDI adalah desain aplikasi yang terdiri dari banyak windows yang bisa berinteraksi dalam satu waktu. Desain ini sangat baik digunakan apabila pengguna mengerjakan beberapa pekerjaan / dokumen dalam satu waktu. Gambar konsep MDI bisa dilihat pada gambar di bawah ini.
Latihan 6.1 1. Awali selalu pekerjaan dgn doa, mudah-mudahan diberi kemudahan dan dapat memberikan manfaat 2. Buat Project baru Visual Basic .NET tipe : window application, nama : AplikasiLatihanEnam1, tentukan pula lokasi penyimpanan (sesuai aturan lab) 3. Kita akan membuat aplikasi MDI dan sistim menu
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
31
4. Buat form induk dengan spesifikasi sbb: - name : FRMMDI - text : Aplikasi MDI - IsMDIContainer : True 5. Buat 3 (tiga) form anak dengan spesifikasi sbb: a. Form Anak ke 1 - name : FRMBARANG - text : Barang - tambahkan Button untuk keluar (gunakan close() untuk keluar form) b. Form Anak ke 2 -name : FRMJUAL -text : Penjualan - tambahkan Button untuk keluar (gunakan close() untuk keluar form) - tambahkan 2 Button dengan spesifikasi sbb: - name : btnmodal; text : Supplier(modal) - name : btnmodeless; text : Supplier(modeless) - tambahkan koding nya: (setelah dibuat FRMSUPPLIER) Private Sub btnmodal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnmodal.Click Dim ofrm As New FRMSUPPLIER ofrm.Text = "Supplier Modal" ofrm.ShowDialog() End Sub Private Sub btnmodeless_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnmodeless.Click Dim ofrm As New FRMSUPPLIER ofrm.Text = "Supplier Modeless" ofrm.Show() End Sub
c. Form Anak ke 3, -name : FRMREPORT -text : Report - tambahkan Button untuk keluar (gunakan close() untuk keluar form) 6. Buat satu form untuk dialog, dengan spesifikasi sbb: -name : FRMSUPPLIER -text : Supplier -FormBorderStyle : FixedDialog 7. Buat sistim menu pada FRMMDI dengan hirarki sbb: Gunakan komponen MenuStrips untuk membuat menu -File -Master -Transaction - Open - Barang - Penjualan - Save - Supplier - Pembelian - ---------- --------------- Quit - Stock Opname -Report - Daftar Barang - Stock Barang
- Windows - Cascade - Tile Vertical - Tile Horizontal
- Help
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
- About
32
8. Sesuai dengan nama menu dan text pada sistim menu , tambahkan kode sbb: Private Sub BarangToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BarangToolStripMenuItem.Click FRMBARANG.MdiParent = Me FRMBARANG.Show() End Sub Private Sub PenjualanToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PenjualanToolStripMenuItem.Click FRMJUAL.MdiParent = Me FRMJUAL.Show() End Sub Private Sub DaftarBarangToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DaftarBarangToolStripMenuItem.Click FRMREPORT.MdiParent = Me FRMREPORT.Show() End Sub Private Sub CascadeToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CascadeToolStripMenuItem.Click Me.LayoutMdi(MdiLayout.Cascade) End Sub Private Sub TileToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TileToolStripMenuItem.Click Me.LayoutMdi(MdiLayout.TileHorizontal) End Sub Private Sub TileVerticalToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TileVerticalToolStripMenuItem.Click Me.LayoutMdi(MdiLayout.TileVertical) End Sub Private Sub QuitToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles QuitToolStripMenuItem.Click 'Me.Close() Application.Exit() End Sub
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
33
9. Berikut ini tampilan aplikasi MDI kita yang sudah selesai dikerjakan
Tugas 6.1 Tambahkan kode untuk membuka menu File Open dan Save - Gunakan komponen OpenFileDialog untuk membuka file dialog - Gunakan komp0nen SaveFileDialog untuk membuka save dialog
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
34
BAB VII PEMROGRAMAN BERORIENTASI OBYEK Setelah melaksanakan praktikum pada bab ini diharapkan mahasiswa dapat : ♫ Mengetahui konsep pemrograman berorientasi obyek ♫ Mengetahui konsep abstraksi, enkapsulasi, polimorfisme, dan pewarisan ♫ Mengetahui cara membuat class dan pemanfaatannya sebagai obyek
Teori Singkat Suatu bahasa pemrograman, disebut sebagai bahasa yang mendukung pemrograman berorientasi obyek /Object Oriented Programming (OOP) jika dapat mendukung kriteria sebagai berikut : Abstraksi (Abstraction) Enkapsulasi (Encapsulation) Polimorfisme (Polymorphism) Pewarisan (Inheritance) Abstraksi adalah menerjemahkan permasalahan ke dalam obyek abstrak yang merepresentasikan permasalahan tersebut Contoh : o Bagaimana kita dapat menerjemahkan permasalahan / memodelkan : pembayaran tagihan ? o Bagaimana kita dapat menerjemahkan permasalahan / memodelkan : membersihkan rumah Enkapsulasi berarti menyembunyikan detail obyek terhadap program yang menggunakan obyek tersebut, atau dikenal dengan istilah Model Operasi : “black box” - Kita tahu apa yang ada di black box, apa yang dapat dihasilkan dan apa yang di dapat dimasukan / diperlukan, tetapi kita tidak tahu apa yang terjadi didalamnya Misal Obyek : Mobil Nama 5 String Jenis 5 String Pintu 5 Integer Roda 5 Integer StatusMesin 5 Boolean : hidup / mati bukaPintu (integer : NoPintu) tutupPintu (integer : NoPintu) hidupkanMesin matikanMesin hidupkanLampuSign (integer : NoLampu) tambahKecepatan (integer : kecepatan) KurangiKecepatan (integer : kecepatan) Untuk menghidupkan mobil kita cukup menggunakan metode : Mobil.hidupkanMesin – kita tidak perlu tahu detail bagaimana proses didalam metode hidupkanMesin Polimorfisme merupakan sebutan yang komplek untuk sesuatu yang sederhana. Bahwa obyek yang berbeda dapat memiliki metode dengan nama yang sama, dengan proses yang berbeda. Contoh : Metode buka untuk obyek Botol, berbeda dengan metode buka pada obyek Pintu Pewarisan merupakan proses mewariskan/menurunkan properti dasar dari suatu obyek kepada obyek baru dan memodifikasi obyek baru dengan properti tambahan. Contoh : Motor dan Mobil keduanya mewariskan properti dari obyek Kendaraan Dalam VB .NET, obyek dibentuk dari suatu class. Class adalah template untuk membuat obyek. Sebuah class dapat diwujudkan dakan banyak obyek.
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
35
Latihan 6.1 1. Awali selalu pekerjaan dgn doa, mudah-mudahan diberi kemudahan dan dapat memberikan manfaat 2. Buat Project baru Visual Basic .NET tipe : window application, nama : AplikasiLatihanEnam1, tentukan pula lokasi penyimpanan (sesuai aturan lab) 3. Kita akan mencoba membuat class Buku 4. Tambahkan sebuah class baru dalam aplikasi ( Project 5 Add Class), beri nama : Buku.vb
Gambar 6.1
5. Tambahkan dua field JudulBuku dan PengarangBuku pada class Buku, serta buat properti Judul dan Pengarang untuk keduanya.
Public Class Buku 'awal class Private JudulBuku As String 'field judul buku Private PengarangBuku As String 'field pengarang buku Property Judul() As String 'properti Judul utk field JudulBuku Get Return JudulBuku End Get Set(ByVal value As String) JudulBuku = value End Set End Property Property Pengarang() As String 'properti Pengarang utk field PengarangBuku Get Return PengarangBuku End Get Set(ByVal value As String) PengarangBuku = value End Set End Property End Class 'akhir class
6. Selanjutnya kita buat konstruktor untuk class Buku, setiap obyek Buku yang dibuat harus sudah memiliki judul dan pengarang. Kontruktor untuk class Buku adalah sbb : Sub New(ByVal JudulBuku As String, ByVal PengarangBuku As String) Me.JudulBuku = JudulBuku Me.Pengarang = PengarangBuku MessageBox.Show("Obyek buku baru telah dibuat") End Sub
7. Kontruktor adalah metode khusus yang dijalankan setiap obyek baru di buat. Kebalikan dari konstruktor adalah destruktor yang dipanggil ketika obyek di buang dari program. Untuk membuat destruktor pada suatu class, class harus mengimplementasikan interface IDisposable dan Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
36
mendeklarasikan metode dispose() Tambahkan kode berikut dibagian general dari kode class : Implements Idisposable 'mengimplementasikan interface Idisposable 'untuk membuat destructor
Kemudian Deklarasikan metode dispose : Public Sub dispose() Implements System.IDisposable.Dispose 'destruktor MessageBox.Show("hancur") End Sub
8. Sampai pada langkah delapan seharus class Buku anda akan tampak sbb :
Public Class Buku 'awal class Implements Idisposable 'mengimplementasikan interface Idisposable 'untuk membuat destruktor
Private JudulBuku As String 'field judul buku Private PengarangBuku As String 'field pengarang buku 'konstruktor
Sub New(ByVal JudulBuku As String, ByVal PengarangBuku As String) Me.JudulBuku = JudulBuku Me.Pengarang = PengarangBuku MessageBox.Show("Obyek buku baru telah dibuat") End Sub Property Judul() As String 'properti Judul utk field JudulBuku Get Return JudulBuku End Get Set(ByVal value As String) JudulBuku = value End Set End Property Property Pengarang() As String 'properti Pengarang utk field PengarangBuku Get Return PengarangBuku End Get Set(ByVal value As String) PengarangBuku = value End Set End Property Public Sub dispose() Implements System.IDisposable.Dispose ' destruktor MessageBox.Show("hancur") End Sub End Class ' akhir class
9. Selanjutnya kita akan coba gunakan class Buku. Dalam Form1, letakkan 1 buah GroupBox, kemudian didalam GroupBox letakkan obyek-obyek sehingga tampak seperti pada gambar 6.2
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
37
10. Atur property mengikuti tabel 6.1 Tabel 6.1
11. Setelah pengaturan property mengikuti form akan tampak seperti gambar 6.3
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
38
12. Deklarasikan buku baru di general dan bentuk obyeknya di event Form_Load
Public Class Form1 Dim buku1 As Buku Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load buku1 = New Buku("La Tahzan", "DR Aidh Al-Qarni") End Sub End Class
13. Tambahkan kode untuk merubah judul buku pada event btnSetJudulBuku_Click Private Sub btnSetJudul_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSetJudul.Click buku1.Judul = txtJudul.Text End Sub
14. Tambahkan kode untuk menampilkan judul buku pada event btnGetJudulBuku_Click
Private Sub btnGetJudul_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGetJudul.Click MessageBox.Show("Judul Buku : " & buku1.Judul) End Sub
15. Tambahkan kode untuk merubah pengarang buku pada event btnSetPengarangBuku_Click
Private Sub btnSetPengarang_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSetPengarang.Click buku1.Pengarang = txtPengarang.Text End Sub
16. Tambahkan kode untuk menampilkan pengarang buku pada event btnGetPengarangBuku_Click Private Sub btnGetPengarang_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGetPengarang.Click MessageBox.Show("Pengarang Buku : " & buku1.Pengarang) End Sub
17. Tambahkan kode untuk menampilkan informasi buku pada event btnInfoBuku_Click
Private Sub btnInfoBuku_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnInfoBuku.Click MessageBox.Show("Judul " & vbTab & ": " & buku1.Judul & vbCrLf & _ "Pengarang" & vbTab & ": " & buku1.Pengarang, "Buku") End Sub
18. Coba Jalankan, Pelajari !
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
39
Latihan 6.2 1. Pada latihan 6.2 ini kita tetap menggunakan Aplikasi yang kita buat di latihan 6.1, mencoba menambahkan metode pada class Buku dan menggunakannya 2. Pada Class Buku, kita akan tambahkan : Field halaman : Menunjukkan di halaman berapa yang kita baca Properti HalamanBuku (ReadOnly) : untuk mendapatkan informasi posisi Halaman Kita Metode pindahHalSebelum : untuk memindahkan kita ke halaman sebelum dari buku Metode pindahHalBerikut : untuk memindahkan kita ke halaman berikutnya dari buku 3. Tambahkan field halaman di bagian general dari class Buku Private HalamanBuku as integer 'field Halaman Buku
4. Ubah Konstruktor class Buku sehingga ketika awal obyek Buku di buat akan menunjukkan halaman=1 Sub New(ByVal JudulBuku As String, ByVal PengarangBuku As String) Me.JudulBuku = JudulBuku Me.PengarangBuku = PengarangBuku Me.HalamanBuku = 1 ’Kode ditambahkan MessageBox.Show("Obyek buku baru telah dibuat") End Sub
5. Buat Properti Halaman ReadOnly untuk field HalamanBuku ReadOnly Property Halaman() As Integer Get Return HalamanBuku End Get End Property
6. Buat Metode pindahHalSebelum Public Sub pindahHalSebelum()
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
40
If HalamanBuku >= 1 Then Me.HalamanBuku -= 1 End If End Sub
7. Buat Metode pindahHalBerikut Public Sub pindahHalBerikut() Me.HalamanBuku += 1 If Me.HalamanBuku > 100 Then Me.HalamanBuku = 1 End Sub
8. Sehingga sampai pada langkah ini keseluruhan kode pada class Buku adalah sbb : Public Class Buku 'awal class Implements Idisposable 'mengimplementasikan interface Idisposable 'untuk membuat destruktor Private JudulBuku As String 'field judul buku Private PengarangBuku As String 'field pengarang buku Private HalamanBuku As Integer 'field Halaman Buku 'konstruktor Sub New(ByVal JudulBuku As String, ByVal PengarangBuku As String) Me.JudulBuku = JudulBuku Me.PengarangBuku = PengarangBuku Me.HalamanBuku = 1 MessageBox.Show("Obyek buku baru telah dibuat") End Sub ReadOnly Property Halaman() As Integer Get Return HalamanBuku End Get End Property Property Judul() As String 'properti Judul utk field JudulBuku Get Return JudulBuku End Get Set(ByVal value As String) JudulBuku = value End Set End Property Property Pengarang() As String 'properti Pengarang Get Return PengarangBuku End Get Set(ByVal value As String) PengarangBuku = value End Set End Property Public Sub dispose() Implements System.IDisposable.Dispose ' destruktor MessageBox.Show("hancur") End Sub Public Sub pindahHalSebelum() If HalamanBuku >= 1 Then Me.HalamanBuku -= 1 End If End Sub Public Sub pindahHalBerikut() Me.HalamanBuku += 1 If Me.HalamanBuku > 100 Then Me.HalamanBuku = 1 End Sub End Class ' akhir class
9. Buka kembali Form1, tambahkan beberapa obyek sehingga tampak sbb :
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
41
10. Atur property mengikuti tabel 6.2
11. Setelah pengaturan property mengikuti form akan tampak seperti gambar 6.6
12. Tambahkan kode pada event Form_Load untuk menampilkan posisi halaman Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load buku1 = New Buku("La Tahzan", "DR Aidh Al-Qarni") txtHalaman.Text = buku1.Halaman End Sub
13. Tambahkan kode untuk pindah ke hal sebelum pada event btnHalSebelum_Click Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
42
Private Sub btnHalSebelum_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHalSebelum.Click buku1.pindahHalSebelum() txtHalaman.Text = buku1.Halaman End Sub
14. Tambahkan kode untuk pindah ke hal berikut pada event btnHalBerikut_Click Private Sub btnHalBerikut_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHalBerikut.Click buku1.pindahHalBerikut() txtHalaman.Text = buku1.Halaman End Sub
15. Jalankan, pelajari !
Latihan 6.3 1. Pada latihan 6.3 ini kita tetap menggunakan Aplikasi yang kita buat di latihan 6.1 dan latihan 6.2, mencoba menambahkan metode pada class Buku untuk dan mewariskannya pada class Komik. Pada latihan 6.3 fokus pembelajaran pada overriding, polimorfisme, dan inheritance 2. Tambahkan metode info pada class buku dengan menggunakan keyword Overrideable agar nanti dapat didefinisikan ulang dengan Overrides di Class turunan. Public Overridable Sub info() MessageBox.Show("Judul : " & JudulBuku & vbCrLf & _ "Pengarang : " & PengarangBuku, "Buku") End Sub
3. Sehingga Class Buku akan menjadi sbb : Public Class Buku 'awal class Implements Idisposable 'mengimplementasikan interface Idisposable 'untuk membuat destruktor Private JudulBuku As String 'field judul buku Private PengarangBuku As String 'field pengarang buku Private HalamanBuku As Integer 'field Halaman Buku
'konstruktor Sub New(ByVal JudulBuku As String, ByVal PengarangBuku As String) Me.JudulBuku = JudulBuku Me.PengarangBuku = PengarangBuku Me.HalamanBuku = 1 MessageBox.Show("Obyek buku baru telah dibuat")
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
43
End Sub ReadOnly Property Halaman() As Integer Get Return HalamanBuku End Get End Property Property Judul() As String 'properti Judul utk field JudulBuku Get Return JudulBuku End Get Set(ByVal value As String) JudulBuku = value End Set End Property Property Pengarang() As String 'properti Pengarang Get Return PengarangBuku End Get Set(ByVal value As String) PengarangBuku = value End Set End Property Public Sub dispose() Implements System.IDisposable.Dispose ' destruktor MessageBox.Show("hancur") End Sub Public Sub pindahHalSebelum() If HalamanBuku >= 1 Then Me.HalamanBuku -= 1 End If End Sub Public Sub pindahHalBerikut() Me.HalamanBuku += 1 If Me.HalamanBuku > 100 Then Me.HalamanBuku = 1 End Sub Public Overridable Sub info() MessageBox.Show("Judul : " & JudulBuku & vbCrLf & _ "Pengarang : " & PengarangBuku, "Buku") End Sub End Class ' akhir class
4. Buat class baru dengan nama class Komik. Class komik merupakan turunan dari class Buku. Gunakan keyword inherits.
5. Tambahkan field JmlSubJudulKomik dan properti JmlSubJudul, serta definisikan ulang metode Info Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
44
dari class induk Public Class Komik : Inherits Buku Private JmlSubJudul As Integer Sub New(ByVal JudulKomik As String, ByVal PengarangKomik As String, ByVal JmlSubJudul As Integer) MyBase.New(JudulKomik, PengarangKomik) Me.JmlSubJudul = JmlSubJudul End Sub Public Overrides Sub info() MessageBox.Show("Judul : " & Judul & vbCrLf & _ "Pengarang : " & Pengarang & vbcrLf & _ "Jumlah Sub Judul : " & JmlSubJudul, "Komik") End Sub Property JumlahSubJudul() As Integer Get Return JmlSubJudul End Get Set(ByVal value As Integer) JmlSubJudul = value End Set End Property End Class
6. Tambahkan form baru (form2.vb) pada project, atur star up object ke form2 7. Tambahkan Control TabControl ke form2, atur lebar dan tinggi sehingga sama dengan form2, seperti pada gambar 6.9
8. Klik TabPage1 (aktifkan), kemudian pada TabPage1 tambahkan control-control sehingga tampil sbb :
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
45
9. Atur property mengikuti tabel 6.4
10. Klik TabPage2 (aktifkan), kemudian pada TabPage2 tambahkan control-control sehingga tampil sbb : Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
46
11. Atur property mengikuti tabel 6.5
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
47
12. Setelah semua pengaturan property, didapat tampilan sbb :
Public Class Form2 Const MAX_BUKU = 5 Const MAX_KOMIK = 5 Dim jmlBuku As Integer Dim jmlKomik As Integer Dim Buku1(MAX_BUKU - 1) As Buku Dim komik1(MAX_KOMIK - 1) As Komik Private Sub btnTambahBuku_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTambahBuku.Click If jmlBuku < MAX_BUKU Then Buku1(jmlBuku) = New Buku(txtJudulBuku.Text, txtPengarangBuku.Text) lstBuku.Items.Add(Buku1(jmlBuku).Judul) jmlBuku += 1 End If End Sub
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
48
Private Sub lstBuku_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lstBuku.SelectedIndexChanged txtHalBUku.Text = Buku1(lstBuku.SelectedIndex).Halaman End Sub Private Sub btnInfoBuku_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnInfoBuku.Click Buku1(lstBuku.SelectedIndex).info() End Sub Private Sub btnHalSebelumBuku_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHalSebelumBuku.Click Buku1(lstBuku.SelectedIndex).pindahHalSebelum() txtHalBUku.Text = Buku1(lstBuku.SelectedIndex).Halaman End Sub Private Sub btnHalBerikuBuku_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHalBerikuBuku.Click Buku1(lstBuku.SelectedIndex).pindahHalBerikut() txtHalBUku.Text = Buku1(lstBuku.SelectedIndex).Halaman End Sub Private Sub BtnTambahKOmik_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTambahKOmik.Click If jmlKomik < MAX_KOMIK Then komik1(jmlKomik) = New Komik(txtJudulKomik.Text, txtPengarangKomik.Text, TxtJmlSubJudulKomik.Text) lstKomik.Items.Add(komik1(jmlKomik).Judul) jmlKomik += 1 End If End Sub Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load jmlBuku = 0 jmlKomik = 0 End Sub Private Sub btnInfoKomik_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnInfoKomik.Click komik1(lstKomik.SelectedIndex).info() txtHalKomik.Text = komik1(lstKomik.SelectedIndex).Halaman End Sub Private Sub btnHalSebelumKomik_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHalSebelumKomik.Click komik1(lstKomik.SelectedIndex).pindahHalSebelum() xtHalKomik.Text = komik1(lstKomik.SelectedIndex).Halaman End Sub Private Sub btnHalBerikutKomik_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHalBerikutKomik.Click komik1(lstKomik.SelectedIndex).pindahHalBerikut() txtHalKomik.Text = komik1(lstKomik.SelectedIndex).Halaman End Sub Private Sub lstKomik_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lstKomik.SelectedIndexChanged txtHalKomik.Text = komik1(lstKomik.SelectedIndex).Halaman End Sub End Class
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
49
APLIKASI SISTEM PEMBELIAN DENGAN VB.NET
1. Proses bisnis Yang dimaksud dengan sistem pembelian disini adalah usaha yang dilakukan untuk menyediakan kebutuhan barang-barang yang akan dijual kembali atau sebagai keperluan perusahaan. Kegiatan pembelian ini terdiri dari transaksi pemesanan barang. Pembelian barang dilakukan dengan mengirimkan Surat Pesanan (SP) kepada Supplier. Dimana SP tersebut berisi data-data barang yang akan dipesan.
2. Aturan bisnis Aturan bisnis yang terjadi dalam sistem pembelian adalah staff harus menyerahkan laporan pembelian barang kepada pihak manajemen.
3. Sistem Usulan
Use Case Diagram
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
50
Gambar 1 Use Case Diagram Sistem Usulan
4. Rancangan Basisdata
Pemodelan Data Konseptual (Class diagram Entitas tanpa Method) SUPPLIER
KDSUP NMSUP TALAMAT
SP
1
1…*
NOSP TGLSP
BARANG
1…*
1…*
TKDBRG TNMBRG TSATUAN
PESAN
NOSP KDBRG JML HRG
Gambar 2 Class Diagram Entitas Tanpa Method
Logical Record Structure (LRS) SUPPLIER
KDSUP NMSUP TALAMAT
SP
KDSUP
NOSP TGLSP KDSUP
PESAN
NOSP
NOSP TKDBRG JML HRG
BARANG
TKDBRG
TKDBRG TNMBRG TSATUAN
Gambar 3 Logical Record Structure ( LRS )
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
51
BASISDATA (MENGENAL ACCESS) Membuat Database dengan Access I.
MENGAKTIFKAN ACCESS 1. Klik tombol Start pada taskbar 2. Pilih menu Program 3. Klik Microsoft Access, maka akan muncul kotak dialog Microsoft Access: Blank Acces Database berfungsi untuk menciptakan database yang masih kosong. Access Database Wizards, pages, and project berfungsi untuk membuat database baru berdasarkan fasilitas wizard, pages dan projects yang sudah disediakan oleh Access 2000. Open an excisting file berfungsi membuka file yang sudah diciptakan sebelumnya. 4. Setelah memilih salah satu diantara pilihan di atas, lalu klik OK.
II. DATABASE ACCESS BERISI : 1. TABLE adalah table kumpulan data sebagai komponen utama pada database 2. QUERIES berfungsi menyaring data dari berbagai criteria dan urutan yang kita kehendaki. 3. FORMS berfungsi memasukkan data dalam dengan bentuk tampilan formulir yang telah kita rancang sendiri. 4. REPORT berfungsi mencetak data dalam bentuk laporan. 5. PAGES berfungsi menciptakan halaman Web berupa data access pages. 6. MACROS berfungsi mengotomatiskan perintah-perintah yang kita kehendaki dalam mengolah data. 7. MODULES berfungsi untuk merancang bermacam-macam modul aplikasi dalam mengolah database tingkat lanjut sesuai yang kita kehendaki.
III. MEMBUAT DATABASE DAN TABEL BARU 1. Klik Start. 2. Kilk Program
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
52
3. Klik Microsoft Access 4. Klik Blank Access Database 5. Klik OK. Akan Muncul
Create New Folder
6. Klik Create new folder untuk membentuk folder baru misalnya dengan nama anda. 7. Kotak isian field name diisi dengan nama database yaitu Perkuliahan. 8. Klik create Maka akan muncul gambar :
9. Klik Create table in Design view 10. Klik design 11. Akan Muncul gambar :
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
53
12. Field name kita isi dengan NPM. Data type kita isi dengan Text. Description kita isi dengan Nomor Pokok Mahasiswa. Field size kita isi dengan 14. maka menjadi gambar sbb :
13. Field name kita isi dengan Nama Mahasiswa, Data type isi dengan Text. Description kita isi dengan Nama Lengkap Mahasiswa. Field size kita isi dengan 30. 14. Field name kita isi dengan TGL LAHIR, Data type isi dengan Date/Time. Description kita isi dengan Tanggal Lahir Mahasiswa. Format kita isi dengan Medium Date. 15. Field name kita isi dengan JK, Data type isi dengan Text. Description kita isi dengan Jenis Kelamin Mahasiswa. Field size kita isi dengan 1. 16. Field name kita isi dengan Alamat, Data type isi dengan Text. Description kita isi dengan Alamat Lengkap Mahasiswa. Field size kita isi dengan 30. Maka jadilah Jendela Table Design yang sudah kita isi lengkap:
17. Setelah selesai mengisi Jendela Table Design, kita perlu menentukan Primary Key. Misalkan NPM kita jadikan Primary Key, caranya letakkan pointer di field NPM lalu klik menu Edit, kemudian klik Primary Key. 18. Setelah selesai simpanlah hasilnya dengan mengklik menu File, lalu kilk Save. Akan muncul :
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
54
19. Nama Table1 kita ganti dengan MHS. Lalu klik OK 20. Untuk keluar dari Jendela Table Design, kita klik menu File, lalu klik Close atau langsung klik tombol Close (X) yang ada di sudut kanan atas.
IV. MEMASUKKAN DATA PADA TABEL 1. Setelah menutup database seperti diatas pada No.20 akan muncul :
2. Klik Table, Klik MHS, Klik Open, akan muncul :
3. Tuliskan data MHS sbb :
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
55
Cara mengisi Data : • Tab untuk memindahkan dari field ke field berikutnya • Shift Tab (tekan Shift dan Tab bersamaan) memindahkan dari suatu field ke field sebelumnya. • Home untuk memindahkan field awal pada record yang sama. • End untuk memindahkan ke field paling akhir pada record yang sama.
• Anak panah atas untuk memindahkan ke record berikutnya di field yang sama. • Anak panah bawah untuk memindahkan ke record berikutnya di field yang sama. • Ctrl Home (tekan Ctrl dan Home bersamaan) untuk memindahkan ke record pertama pada field pertama. • Ctrl End (tekan Ctrl dan End bersamaan) untuk memindahkan ke record paling akhir di field terakhir.
Membuat Database Access untuk Sistem Pembelian : Buat Database dengan Access dari tabel-tabel dibawah ini : Nama Tabel : BARANG No. Nama Field 1. TKDBRG (Primary Key) 2. TNMBRG 3. TSATUAN
Tipe Data Text Text Currency
Lebar 7 25 -
Keterangan Kode Barang Nama Barang Jumlah Barang
Nama Tabel : SUPPLIER No. Nama Field 1. KDSUP (Primary Key) 2. NMSUP 3. TALAMAT
Tipe Data Text Text Text
Lebar 7 25 35
Keterangan Kode Supplier Nama Supplier Alamat Supplier
Nama Tabel : SP No. Nama Field 1. NOSP (Primary Key) 2. TGLSP 3. KDSUP
Tipe Data Text Date/Time Text
Lebar 7 7
Keterangan Nomor Surat Pesan (SP) Tanggal Surat Pesan (SP) Kode Supplier
Nama Tabel : PESAN No. Nama Field 1. TKDBRG (Primary Key) 2. NOSP (Primary Key) 3. JML 4. HRG
Tipe Data Text Text Number Currency
Lebar 7 7 -
Keterangan Kode Barang Nomor Surat Pesan (SP) Jumlah Pesan Harga Barang
Rancangan Layar
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
56
Gambar 5 Rancangan Layar Form Utama Sistem Pembelian
Gambar 6 Rancangan Layar Menu File Master
Gambar 7 Rancangan Layar Menu Transaksi
Gambar 8 Rancangan Layar Menu Cetak Laporan
Membuat Menu Untuk membuat menu, pilih didalam toolbox
lalu ketikkan nama menu sesuai dengan
yang diinginkan
Atau bisa juga dengan mengetikkan menu pada properties text
Penggunaan tanda ”&” diantara nama menu, berfungsi agar menu dapat diakses menggunakan keyboard dengan menekan tombol alt disertai dengan huruf yang bergaris bawah. jika program sudah dijalankan, menu ini dapat diakses dengan menekan tombol ”alt dan m” secara bersamaan.
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
57
Membuat Module Dalam sistem pembelian ini, koneksi database nya terdapat pada Module. Sehingga dibuat bersifat global. Untuk membuat Module, perlu menambahkan atribut baru berupa module pada project. Dengan cara: Klik kanan pada Project di Solution Explorer, kemudian pilih Add, Add Module
Beri nama Module1.vb
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
58
Ketikan code untuk module:
Koneksi database dengan M.Access
Nama database yang sudah dibuat
Form Label
Group Box
Button Label
TextBox
Group Box Gambar 9 Rancangan Layar Form Entry Data Barang
Button
OBJEK Form1
NAME frmMasterBarang
TEXT frmMasterBarang
Label1 GroupBox1 Label2 Label3 Label4 Textbox1 Textbox2 Textbox3 Button1
Label1 Groupbox1 lblkdbrg lblnmbrg Lblharsat txtKdBrg txtNmBrg txtSatuan BtnCariBrg
ENTRY DATA BARANG Data Barang KODE BARANG NAMA BARANG HARGA SATUAN (kosong) (kosong) (kosong) CARI
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
PROPERTIES YANG DIUBAH Font , Back Color, StartPosition = CenterScreen Font, Back Color Font, Back Color Font, Back Color Font, Back Color Font, Back Color Font , Back Color Font, Back Color Font, Back Color Font , Back Color
59
GroupBox2 Button2 Button3 Button4 Button5 Button6
Groupbox2 cmdSimpan cmdUbah cmdHapus cmdBatal cmdKeluar
SIMPAN UBAH HAPUS BATAL KELUAR
Font, Back Color Font , Back Color Font , Back Color Font , Back Color Font, Back Color Font , Back Color
Gambar 9 Rancangan Layar Entry Data Barang
Gambar 10 Rancangan Layar PopUp Barang
OBJEK Form1
NAME PopBrg
TEXT PopBrg
Label1 Textbox1 ListView1
Label1 txtKey ListView1
Kata Kunci (kosong) (kosong)
Button1
BtnOK
OK
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
PROPERTIES YANG DIUBAH Font , Back Color, StartPosition = CenterScreen Font, Back Color Font , Back Color Font ColumnAdd(3 ColumnHeader)Text(Colum nHeader1 = KODE BARANG, (ColumnHeader2 = NAMA BARANG, ColumnHeader3 = HARGA SATUAN) FullRowSelect = true Gridlines = true View = details Font , Back Color
60
Gambar 11 Rancangan Layar Form Entry Data Supplier OBJEK Form1
NAME FrmMasterSupplier
TEXT frmMasterSupplier
Label1 GroupBox1 Label2 Label3 Label4 Textbox1 Textbox2 Textbox3 Button1 GroupBox2 Button2 Button3 Button4 Button5 Button6
Label1 Groupbox1 lblkdsup lblnmsup lblalamat txtKdSup txtNmSup txtalamat BtnCariSup Groupbox2 cmdSimpan cmdUbah cmdHapus cmdBatal cmdKeluar
ENTRY DATA SUPPLIER Data Supplier KODE SUPPLIER NAMA SUPPLIER ALAMAT SUPPLIER (kosong) (kosong) (kosong) CARI SIMPAN UBAH HAPUS BATAL KELUAR
PROPERTIES YANG DIUBAH Font , Back Color, StartPosition = CenterScreen Font , Back Color Font, Back Color Font , Back Color, Fore Color Font, Back Color, Fore Color Font, Back Color, Fore Color Font , Back Color Font , Back Color Font , Back Color Font , Back Color Font, Back Color Font , Back Color Font , Back Color Font , Back Color Font, Back Color Font , Back Color
Gambar 12
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
61
Rancangan Layar Form Entry Surat Pesanan OBJEK Form1
NAME frmEntrySP
TEXT Entry Surat Pesanan
Label1 Label2 TextBox1 Label3 DateTime Picker
Label1 lblnosp txtNoSp lbltglsp DateTglSp
Entry Surat Pesanan NO. SP (kosong) TANGGAL SP (kosong)
GroupBox1 Label4 Textbox2 Label3 Textbox3 Label4 Button1 GroupBox2 Label5 Textbox4 Label6 Textbox5 Label7 Textbox6 Label8 Textbox7 Label9 Textbox8 GroupBox3 Button2 Button3 ListView1
Groupbox1 lblkdsup txtKdSup lblnmsup txtNmSup lblalamat btnCariSup Groupbox2 lblkdbrg txtKdBrg lblnmbrg txtNmBrg lblharsat txtSatuan lbljbeli txtJmlBeli lbltotal txtTotal Groupbox2 btnTambah cmdBatal ListView1
(kosong) KODE SUPPLIER (kosong) NAMA SUPPLIER (kosong) ALAMAT SUPPLIER CARI (kosong) KODE BARANG (kosong) NAMA BARANG (kosong) HARGA SATUAN (kosong) JUMLAH BELI (kosong) TOTAL (kosong) (kosong) TAMBAH BATAL (kosong)
Label10 Textbox9 Button4 Button5
lblgtotal txtGrandTotal cmdSimpan cmdKeluar
GRAND TOTAL (kosong) SIMPAN KELUAR
PROPERTIES YANG DIUBAH Font , Back Color, StartPosition = CenterScreen Font , Back Color Font , Back Color Font Font , Back Color Format : Custom Custom : dd MMMM yyyy CalendarFont Back Color Font , Back Color, Fore Color Font , Back Color Font, Back Color, Fore Color Font , Back Color Font, Back Color, Fore Color Font , Back Color Back Color Font, Back Color, Fore Color Font , Back Color Font, Back Color, Fore Color Font , Back Color Font, Back Color, Fore Color Font , Back Color Font, Back Color, Fore Color Font , Back Color Font, Back Color, Fore Color Font , Back Color Back Color Font , Back Color Font , Back Color Font ColumnAdd(5 ColumnHeader)Text(ColumnHeade r1 = KODE BARANG, (ColumnHeader2 = NAMA BARANG, ColumnHeader3 = HARGA SATUAN, ColumnHeader4 = JUMLAH, ColumnHeader5 = TOTAL) FullRowSelect = true Gridlines = true View = details Font, Back Color, Fore Color Font , Back Color Font , Back Color Font , Back Color
Gambar 13 Rancangan Layar Form Cetak Surat Pesanan
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
62
OBJEK Form1
NAME FrmCetakSP
TEXT FrmCetakSP
Label1 GroupBox1 Label2 Label3 Label4 Label5 Textbox1 Textbox2 Textbox3 Textbox4 Button1 GroupBox1 Button2 Button3 Button4
Label1 Groupbox1 lblnosp lbltglsp lblkdsup lblnmsup txtNoSP txtTglSP txtKdSup txtNmSup BtnCarisp Groupbox1 cmdCetak cmdBatal cmdKeluar
CETAK SURAT PESANAN NO. SP TANGGAL SP KODE SUPPLIER KODE SUPPLIER (kosong) (kosong) (kosong) (kosong) CARI CETAK BATAL KELUAR
PROPERTIES YANG DIUBAH Font , Back Color, StartPosition = CenterScreen Font , Back Color Back Color Font , Back Color, Fore Color Font, Back Color, Fore Color Font, Back Color, Fore Color Font, Back Color, Fore Color Font , Back Color Font , Back Color Font , Back Color Font , Back Color Font , Back Color Font, Back Color Font , Back Color Font , Back Color Font , Back Color
Coding
Imports System.Data.OleDb Imports System.Data Public Class frmMasterBarang Dim cnn As OleDbConnection Dim cmmd As OleDbCommand Dim dReader As OleDbDataReader Private Sub frmMasterBarang_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Buka koneksi cnn = New OleDbConnection(strConn) If cnn.State <> ConnectionState.Closed Then cnn.Close() cnn.Open() 'Buat AutoNumber u kode barang Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1 Dim strTemp As String = "" Dim strValue As String = "" Dim sql As String sql = "SELECT * FROM BARANG ORDER BY TKDBRG DESC"
63
cmdKeluar Private Sub cmdKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdKeluar.Click Me.Dispose() End Sub
txtKdBrg Private Sub txtKdBrg_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtKdBrg.KeyPress If Asc(e.KeyChar) = 13 Then cmmd = New OleDbCommand("SELECT * FROM BARANG WHERE TKDBRG='" & _ txtKdBrg.Text & "'", cnn) dReader = cmmd.ExecuteReader If dReader.Read Then ''jika data ditemukan cmdSimpan.Enabled = False cmdUbah.Enabled = True cmdHapus.Enabled = True txtNmBrg.Text = dReader.Item("TNMBRG") txtSatuan.Text = Format(CDbl(dReader.Item("TSATUAN")),"##,####,####,###") txtNmBrg.Focus() Else txtNmBrg.Focus() txtNmBrg.Text = "" txtSatuan.Text = "" End If End Bahasa If Modul Praktikum Pemrograman Visual Basic.NET @2008 .v1.1 End Sub
64
cmdSimpan Private Sub cmdSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSimpan.Click Dim sql As String Dim strTemp As String = "" Dim strValue As String = "" sql = "INSERT INTO BARANG(TKDBRG, TNMBRG, TSATUAN) " & _ "VALUES('" & txtKdBrg.Text & _ "','" & txtNmBrg.Text & "','" & txtSatuan.Text & "')" cmmd = New OleDbCommand(sql, cnn) Dim x As Integer = cmmd.ExecuteNonQuery If x = 1 Then MessageBox.Show("DATA BERHASIL DISIMPAN")
sql = "SELECT * FROM BARANG ORDER BY TKDBRG DESC" cmmd = New OleDbCommand(sql, cnn) dReader = cmmd.ExecuteReader If dReader.Read Then strTemp = Mid(dReader.Item("TKDBRG"), 3, 5) 'caraChris 'strChris = Mid(dReader.Item("TKDBRG"), 3, 5) + 1 Else txtKdBrg.Text = "BG00001" Exit Sub End If 'MsgBox(strTemp) strValue = Val(strTemp) + 1 txtKdBrg.Text = "BG" & Mid("00000", 1, 5 - strValue.Length) & strValue txtNmBrg.Text = "" txtSatuan.Text = "" txtNmBrg.Focus() Else MessageBox.Show("GAGAL MENYIMPAN DATA") End If End Sub
cmdUbah Private Sub cmdUbah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdUbah.Click Dim sql As String sql = "UPDATE BARANG SET TNMBRG='" & txtNmBrg.Text & "'," & _ Modul Praktikum "TSATUAN='" Bahasa Pemrograman Visual Basic.NET &@2008 & txtSatuan.Text "' ".v1.1 & _ "WHERE TKDBRG='" & txtKdBrg.Text & "'" cmmd = New OleDbCommand(sql, cnn)
65
cmdHapus Private Sub cmdHapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdHapus.Click Dim sql As String sql = "DELETE FROM BARANG WHERE TKDBRG='" & txtKdBrg.Text & "'" cmmd = New OleDbCommand(sql, cnn) Dim x As Integer = cmmd.ExecuteNonQuery If x = 1 Then MessageBox.Show("DATA BERHASIL DIHAPUS") txtKdBrg.Text = "" txtNmBrg.Text = "" txtSatuan.Text = "" txtKdBrg.Enabled = True txtKdBrg.Focus() Else MessageBox.Show("GAGAL HAPUS DATA") End If End Sub
cmdBatal Private Sub cmdBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBatal.Click txtNmBrg.Text = "" txtSatuan.Text = "" txtNmBrg.Focus() End Sub
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
66
btnCariBrg Private Sub btnCariBrg_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCariBrg.Click Dim popupbrg As New PopBrg popupbrg.ShowDialog() If popupbrg.retKdBrg <> "" Then txtKdBrg.Text = popupbrg.retKdBrg txtNmBrg.Text = popupbrg.retNmBrg txtSatuan.Text = Format(CDbl(popupbrg.retSatuan), "##,####,####,###") txtKdBrg.Enabled = False txtNmBrg.Focus() End If End Sub End Class
Imports System.Data.OleDb Imports System.Data Public Class PopBrg Public retKdBrg, retNmBrg, retSatuan As String Dim cnn As OleDbConnection Dim cmmd As OleDbCommand Dim dReader As OleDbDataReader Private Sub popBrg_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Call list_data() End Sub
txtKey Private Sub txtKey_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtKey.TextChanged Call list_data() Modul Praktikum Bahasa End Sub Pemrograman Visual Basic.NET @2008 .v1.1
67
ListView1
Private Sub ListView1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListView1.DoubleClick Call pilih() End Sub Private Sub pilih() Try retKdBrg = ListView1.SelectedItems(0).SubItems(0).Text.ToString retNmBrg = ListView1.SelectedItems(0).SubItems(1).Text.ToString retSatuan = ListView1.SelectedItems(0).SubItems(2).Text.ToString Me.Close() Catch ex As Exception MsgBox("pilih salah satu data", MsgBoxStyle.Information) End Try End Sub
btnO K btnOK_Click(ByVal sender As System.Object, ByVal e As Private Sub System.EventArgs) Handles btnOK.Click Call pilih() End Sub End Class Public Sub list_data() Call clear_list() Dim sqlx As String Dim x As Integer sqlx = "select TKDBRG, TNMBRG, TSATUAN from BARANG where TNMBRG like '%" & Trim(txtKey.Text) & "%' order by TKDBRG asc" cnn = New OleDbConnection(strConn) If cnn.State <> ConnectionState.Closed Then cnn.Close() cnn.Open() cmmd = New OleDbCommand(sqlx, cnn) dReader = cmmd.ExecuteReader Try While dReader.Read = True x = Val(counter.Text) counter.Text = Str(Val(counter.Text) + 1) With ListView1 .Items.Add("") .Items(ListView1.Items.Count .Items(ListView1.Items.Count .Items(ListView1.Items.Count .Items(x).SubItems(0).Text = .Items(x).SubItems(1).Text = .Items(x).SubItems(2).Text = End With Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1 End While Finally dReader.Close() End Try
- 1).SubItems.Add("") - 1).SubItems.Add("") - 1).SubItems.Add("") dReader.GetString(0) dReader.GetString(1) dReader.GetValue(2)
68
Imports System.Data.OleDb Imports System.Data Public Class frmMasterSupplier Dim cnn As OleDbConnection Dim cmmd As OleDbCommand Dim dReader As OleDbDataReader Private Sub frmMasterSupplier_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Buka koneksi cnn = New OleDbConnection(strConn) If cnn.State <> ConnectionState.Closed Then cnn.Close() Modul Praktikumcnn.Open() Bahasa Pemrograman Visual Basic.NET @2008 .v1.1 'Buat AutoNumber u kode barang Dim strTemp As String = "" Dim strValue As String = ""
69
cmdKeluar Private Sub cmdKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdKeluar.Click Me.Dispose() End Sub
txtKdSup Private Sub txtKdSup_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtKdSup.KeyPress If Asc(e.KeyChar) = 13 Then cmmd = New OleDbCommand("SELECT * FROM SUPPLIER WHERE KDSUP='" & _ txtKdSup.Text & "'", cnn) dReader = cmmd.ExecuteReader If dReader.Read Then ''jika data ditemukan cmdSimpan.Enabled = False cmdUbah.Enabled = True cmdHapus.Enabled = True txtNmSup.Text = dReader.Item("NMSUP") txtAlamat.Text = dReader.Item("TALAMAT") txtNmSup.Focus() Else txtNmSup.Focus() txtNmSup.Text = "" txtAlamat.Text = "" End If End If End Sub
cmdSimpan Private Sub cmdSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSimpan.Click Dim sql As String Dim strTemp As String = "" Dim strValue As String = ""
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
sql = "INSERT INTO SUPPLIER(KDSUP, NMSUP, TALAMAT) " & _ "VALUES('" & txtKdSup.Text & _ "','" & txtNmSup.Text & "','" & txtAlamat.Text & "')"
70
sql = "SELECT * FROM SUPPLIER ORDER BY KDSUP DESC" cmmd = New OleDbCommand(sql, cnn) dReader = cmmd.ExecuteReader If dReader.Read Then strTemp = Mid(dReader.Item("KDSUP"), 3, 5) 'caraChris 'strChris = Mid(dReader.Item("KDSUP"), 3, 5) + 1 Else txtKdSup.Text = "SU00001" Exit Sub End If 'MsgBox(strTemp) strValue = Val(strTemp) + 1 txtKdSup.Text = "SU" & Mid("00000", 1, 5 - strValue.Length) & strValue txtNmSup.Text = "" txtAlamat.Text = "" txtNmSup.Focus() Else MessageBox.Show("GAGAL MENYIMPAN DATA") End If cmdUbah End Sub Private Sub cmdUbah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdUbah.Click Dim sql As String sql = "UPDATE SUPPLIER SET NMSUP='" & txtNmSup.Text & "'," & _ "TALAMAT='" & txtAlamat.Text & "' " & _ "WHERE KDSUP='" & txtKdSup.Text & "'" cmmd = New OleDbCommand(sql, cnn) Dim x As Integer = cmmd.ExecuteNonQuery If x = 1 Then MessageBox.Show("DATA BERHASIL DIUPDATE") txtKdSup.Text = "" txtNmSup.Text = "" txtAlamat.Text = "" txtKdSup.Enabled = True txtKdSup.Focus() Else MessageBox.Show("GAGAL UPDATE DATA") End If End Sub
cmdHapu s Private Sub cmdHapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdHapus.Click Dim sql As String sql = "DELETE FROM SUPPLIER WHERE KDSUP='" & txtKdSup.Text & "'" cmmd = New OleDbCommand(sql, cnn)
Modul Praktikum Bahasa Visual @2008 .v1.1 Dim Pemrograman x As Integer = Basic.NET cmmd.ExecuteNonQuery If x = 1 Then MessageBox.Show("DATA BERHASIL DIHAPUS") txtKdSup.Text = ""
71
cmdBatal Private Sub cmdBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBatal.Click txtNmSup.Text = "" txtAlamat.Text = "" End Sub
btnCariS Private up Sub btnCariSup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCariSup.Click Dim popupsup As New PopSup popupsup.ShowDialog() If popupsup.retKdSup <> "" Then txtKdSup.Text = popupsup.retKdSup txtNmSup.Text = popupsup.retNmSup txtAlamat.Text = popupsup.retAlmtSup txtKdSup.Enabled = False txtNmSup.Focus() End If End Sub End Class
Imports System.Data.OleDb Imports System.Data Public Class PopSup Public retAlmtSup As String Modul Praktikum BahasaretKdSup, PemrogramanretNmSup, Visual Basic.NET @2008 .v1.1 Dim cnn As OleDbConnection Dim cmmd As OleDbCommand Dim dReader As OleDbDataReader
72
txtKey Private Sub txtKey_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtKey.TextChanged Call list_data() End Sub Private Sub list_data() Call clear_list() Dim sqlx As String Dim x As Integer sqlx = "select KDSUP, NMSUP, TALAMAT from SUPPLIER where NMSUP like '%" & Trim(txtKey.Text) & "%' order by KDSUP asc" cnn = New OleDbConnection(strConn) If cnn.State <> ConnectionState.Closed Then cnn.Close() cnn.Open() cmmd = New OleDbCommand(sqlx, cnn) dReader = cmmd.ExecuteReader Try While dReader.Read = True x = Val(counter.Text) counter.Text = Str(Val(counter.Text) + 1) With ListView1 .Items.Add("") .Items(ListView1.Items.Count - 1).SubItems.Add("") .Items(ListView1.Items.Count - 1).SubItems.Add("") .Items(ListView1.Items.Count - 1).SubItems.Add("") .Items(x).SubItems(0).Text = dReader.GetString(0) .Items(x).SubItems(1).Text = dReader.GetString(1) .Items(x).SubItems(2).Text = dReader.GetString(2) End With End While Finally dReader.Close() End Try cnn.Close() Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1 End Sub
73
Private Sub clear_list() While Val(counter.Text) > 0 ListView1.Items(0).Remove() counter.Text = Val(counter.Text) - 1 End While End Sub
ListView1
Private Sub ListView1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListView1.DoubleClick Call pilih() End Sub Private Sub pilih() Try retKdSup = ListView1.SelectedItems(0).SubItems(0).Text.ToString retNmSup = ListView1.SelectedItems(0).SubItems(1).Text.ToString retAlmtSup = ListView1.SelectedItems(0).SubItems(2).Text.ToString Me.Close() Catch ex As Exception MsgBox("pilih salah satu data", MsgBoxStyle.Information)
btnO K btnOK_Click(ByVal sender As System.Object, ByVal e As Private Sub System.EventArgs) Handles btnOK.Click Call pilih() End Sub End Class
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
74
Imports System.Data.OleDb Imports System.Data Public Class frmEntrySP Dim cnn As OleDbConnection Dim cmmd, cmmd1, cmmd2 As OleDbCommand Dim dReader As OleDbDataReader Private index As Integer = 0 Private Total As Double = 0.0 Private Sub frmEntrySP_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Buka koneksi cnn = New OleDbConnection(strConn) If cnn.State <> ConnectionState.Closed Then cnn.Close() cnn.Open() 'Buat AutoNumber u Surat Pesanan Dim strTemp As String = "" Dim strValue As String = "" Dim sql As String sql = "SELECT * FROM SP ORDER BY NOSP DESC" cmmd = New OleDbCommand(sql, cnn) dReader = cmmd.ExecuteReader If dReader.Read Then strTemp = Mid(dReader.Item("NOSP"), 3, 5) Else txtNoSP.Text = "SP00001" Exit Sub End If 'MsgBox(strTemp) strValue = Val(strTemp) + 1 txtNoSP.Text = "SP" & Mid("00000", 1, 5 - strValue.Length) & strValue End Sub
txtNoSP Private Sub txtNoSP_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtNoSP.KeyPress If Asc(e.KeyChar) = 13 Then btnCariSup.Focus() End If End Sub
btnCariS up btnCariSup_Click(ByVal sender As System.Object, ByVal e As Private Sub System.EventArgs) Handles btnCariSup.Click Dim popupsup As New PopSup popupsup.ShowDialog() If popupsup.retKdSup <> "" Then txtkdsup.Text = popupsup.retKdSup txtNmSup.Text = popupsup.retNmSup txtNmSup.Focus() End If End Sub
txtNmsup Private Sub txtNmsup_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtNmSup.KeyPress If Asc(e.KeyChar) = 13 Then BtnCariBrg.Focus() End If End Sub
txtJmlbeli Private Sub txtJmlbeli_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtJmlBeli.KeyPress Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1 If Asc(e.KeyChar) = 13 Then SetTotal() txtTotal.Focus() End If
75
txtTotal Private Sub txtTotal_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTotal.KeyPress If Asc(e.KeyChar) = 13 Then btnTambah.Focus() End If End Sub Sub SetTotal() Dim a As Integer a = CInt(txtJmlBeli.Text) * CInt(txtSatuan.Text) txtTotal.Text = Format(CDbl(CStr(a)), "##,####,####,###") 'txt.Text = Format(CDbl(txt.Text), "##,####,####,###") End Sub
btnCariBrg Private Sub BtnCariBrg_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCariBrg.Click Dim popupbrg As New PopBrg popupbrg.ShowDialog() If popupbrg.retKdBrg <> "" Then txtKdBrg.Text = popupbrg.retKdBrg txtNmBrg.Text = popupbrg.retNmBrg txtSatuan.Text = Format(CDbl(popupbrg.retSatuan), "##,####,####,###") txtJmlBeli.Focus() Private Sub list_data() End If Call clear_list() End Sub Dim sqlx As String Dim x As Integer sqlx = "select KDSUP, NMSUP, TALAMAT from SUPPLIER where NMSUP like '%" & btnTambah Trim(txtKey.Text) & "%' order by KDSUP asc" Private Sub btnTambah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) btnTambah.Click cnn =Handles New OleDbConnection(strConn) Dim Value() As String = {txtKdBrg.Text, txtNmBrg.Text, txtSatuan.Text, If cnn.State <> ConnectionState.Closed Then cnn.Close() txtJmlBeli.Text, txtTotal.Text} cnn.Open() AddList(Value) cmmd = New OleDbCommand(sqlx, cnn) Total dReader += CDbl(txtTotal.Text) : txtGrandTotal.Text = = cmmd.ExecuteReader Format(CDbl(CStr(Total)), "##,####,####,###") txtKdBrg.Text = "" : txtNmBrg.Text = "" : txtSatuan.Text = "" : txtJmlBeli.Text Try= "" txtTotal.Text "" While= dReader.Read = True txtKdBrg.Focus() x = Val(counter.Text) End Sub counter.Text = Str(Val(counter.Text) + 1) With As ListView1 Sub AddList(ByVal Value() String) .Items.Add("") Dim subIndex As Integer .Items(ListView1.Items.Count - 1).SubItems.Add("") ListView1.Items.Add("") .Items(ListView1.Items.Count - 1).SubItems.Add("") For subIndex = 0 To 4 .Items(ListView1.Items.Count 1).SubItems.Add("") ListView1.Items(index).SubItems.Add("") .Items(x).SubItems(0).Text = dReader.GetString(0) ListView1.Items(index).SubItems(subIndex).Text = Value(subIndex) .Items(x).SubItems(1).Text = dReader.GetString(1) Next .Items(x).SubItems(2).Text = dReader.GetString(2) End With index = index + 1 End While End Sub Finally dReader.Close() End Try cmdSimpan cnn.Close() End Sub Private Sub cmdSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSimpan.Click
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1 Dim counter As Integer Dim sql1, sql2 As String Try
76
cmdBatal Private Sub cmdBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBatal.Click ListView1.Items.Clear() index = 0 : Total = 0 txtGrandTotal.Text = "" End Sub
cmdKeluar Private Sub cmdKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdKeluar.Click Me.Close() End Sub End Class
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
Imports System.Data.OleDb
77
cmdKeluar Private Sub BtnCarisp_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCarisp.Click Dim popupSP As New PopSP popupSP.ShowDialog() If popupSP.retNoSP <> "" Then txtNoSP.Text = popupSP.retNoSP txtTglSP.Text = Format(CDate(popupSP.retTglSP), "dd - MMMM - yyyy") txtKdSup.Text = popupSP.retKdSup cmdCetak.Focus() End If '''' UNTUK MENAMPILKAN NAMA SUPPLIER Dim sqlx As String sqlx = "select NMSUP from SUPPLIER where KDSUP like '%" & Trim(txtKdSup.Text) & "%' order by KDSUP asc" cnn = New OleDbConnection(strConn) cnn.Open() cmmd = New OleDbCommand(sqlx, cnn) dReader = cmmd.ExecuteReader If dReader.Read Then txtNmSup.Text = dReader(0) End If End Sub
cmdKeluar Private Sub cmdKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdKeluar.Click Me.Dispose() End Sub
cmdBatal Private Sub cmdBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBatal.Click txtNoSP.Text = "" txtTglSP.Text = "" txtKdSup.Text = "" txtNmSup.Text = "" End Sub
cmdCetak Private Sub cmdCetak_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdCetak.Click Modul FrmRptCetakSP.Show() Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1 End Sub End Class
78
Imports System.Data.OleDb Imports System.Data Public Class PopSP Public retNoSP, retTglSP, retKdSup As String Dim cnn As OleDbConnection Dim cmmd As OleDbCommand Dim dReader As OleDbDataReader Private Sub popSP_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Call list_data() End Sub
txtKey Private Sub txtKey_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtKey.TextChanged Call list_data() End Sub Private Sub list_data() Call clear_list() Dim sqlx As String Dim x As Integer sqlx = "select NOSP, TGLSP, KDSUP from SP where NOSP like '%" & Trim(txtKey.Text) & "%' order by NOSP asc" cnn = New OleDbConnection(strConn) If cnn.State <> ConnectionState.Closed Then cnn.Close() cnn.Open() cmmd = New OleDbCommand(sqlx, cnn) dReader = cmmd.ExecuteReader Try While dReader.Read = True x = Val(counter.Text) counter.Text = Str(Val(counter.Text) + 1) With ListView1 .Items.Add("") .Items(ListView1.Items.Count - 1).SubItems.Add("") .Items(ListView1.Items.Count - 1).SubItems.Add("") .Items(ListView1.Items.Count - 1).SubItems.Add("") .Items(x).SubItems(0).Text = dReader.GetString(0) .Items(x).SubItems(1).Text = Format(CDate(dReader.GetDateTime(1)), "dd-MMMM-yyyy") .Items(x).SubItems(2).Text = dReader.GetString(2) End With Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1 End While Finally dReader.Close() End Try
79
Listview1
Private Sub ListView1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListView1.DoubleClick Call pilih() End Sub Private Sub pilih() Try retNoSP = ListView1.SelectedItems(0).SubItems(0).Text.ToString retTglSP = ListView1.SelectedItems(0).SubItems(1).Text.ToString retKdSup = ListView1.SelectedItems(0).SubItems(2).Text.ToString Me.Close() Catch ex As Exception MsgBox("pilih salah satu data", MsgBoxStyle.Information) End Try End Sub
btnOK Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click Call pilih() End Sub End Class
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
80
LAPORAN DENGAN CRYSTAL REPORT
Yang tidak boleh dikesampingkan dalam membangun suatu aplikasi adalah pembuatan laporan. Jika suatu program yang dibangun tanpa dilengkapi program untuk membuat suatu laporan masih belum lengkap. Oleh karena itu laporan menjadi penting untuk suatu program aplikasi. Gunanya dari suatu laporan adalah untuk melihat hasil dari suatu proses komputer dalam bentuk preview atau dalam bentuk print out ke printer atau media lain.
MENCETAK LAPORAN TABLE TUNGGAL Untuk membuat laporan dengan Crystal Report langkah yang harus dilakukan adalah sebagai berikut : 1. Klik kanan pada Project kemudian pilih Add lalu pilih Add Windows Forms setelah itu program akan menampilkan kontak dialog Add New Item 2. Pada form Add New Item, pilih Crystal Report, lalu tekan tombol Add. Tuliskan nama laporan yang akan dibuat pada kolom Name.
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
81
3. Pada Form Crystal Report Gallery klik As a Blank Report klik tombol OK
4. Setelah desain Crystal Report tampil klik kanan pada Database Fields lalu pilih Database Expert.
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
82
Sehingga muncul tampilan seperti dibawah. Karena kita menggunakan database Access, maka kita pilih Create New Connection Access/Excel (DAO) klik OK
5. Muncul window untuk memilih Database yang akan digunakan, setelah itu klik tombol finish.
Browse/Cari database yang akan digunakan
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
83
6.
Klik untuk memilih table Perbedaan setelah dikoneksikan dengan database Kemudian pilih table yang akan dikoneksikan Tempat table yang telah dipilih
7. Kemudian pilih tabel yang akan dibuat reportnya pada Form Database Expert setelah itu klik OK 8. Perbedaan setelah dikoneksikan dengan tabel yang dibutuhkan
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
84
9. Untuk menampilkan field-field pada yang akan dicetak, drag field pada sisi Field Explorer ke dalam Layar Design Crystal Report.
Perbedaan setelah dikoneksikan dengan tabel yang dibutuhkan
Drag masing-masing field ke dalam bagian details
10. Untuk mendesign bentuk cetakan, dapat dilakukan di bagian Report Header, Page Header, Report Footer dan Page Footer
Contoh tampilan layout Laporan Data Barang :
Field-field yang di drag pada bagian Details
Untuk membuat laporan dengan Crystal Report, biasanya diperlukan sebuah form yang menampung tampilan sementara Crystal Report. Maka kita perlu menambah sebuah form baru. Langkah-langkah yang dilakukan adalah sbb: 1. Klik kanan pada Project di Solution Explorer Klik Add Windows Form
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
85
2. Ubah nama pada kolom Name
Ubah nama menjadi RptLapBrg 3. Tambahkan objek CrystalReportViewer dari Toolbox kedalam form. Hal ini berguna untuk koneksi form dengan CrystalReport
Cari pada grup CrystalReports
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
86
Tambahkan CrystalReportViewer ke dalam form
4. Kemudian koneksikan form dengan CrystalReport yang telah dibuat : Atur properties ReportSource --> pilih CrystalReport yang telah dibuat
Pilih CrystalReport yang telah dibuat
5. Tampilannya akan menjadi :
Nama CrystalReport yang telah dikoneksikan
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
87
MENCETAK SURAT PESANAN Langkah-langkah yang dijalankan hampir sama dengan cetakan laporan 1. Klik kanan pada Project kemudian pilih Add lalu pilih Add Windows Forms setelah itu program akan menampilkan kontak dialog Add New Item 2. Pada form Add New Item, pilih Crystal Report, lalu tekan tombol Add. Tuliskan nama laporan yang akan dibuat pada kolom Name.
Ganti namanya menjadi CrCetakSP
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
88
3. Pada Form Crystal Report Gallery klik As a Blank Report klik tombol OK
4. Setelah desain Crystal Report tampil klik kanan pada Database Fields lalu pilih Database Expert.
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
89
Sehingga muncul tampilan seperti dibawah. Karena kita menggunakan database Access, maka kita pilih Create New Connection Access/Excel (DAO) klik OK
5. Muncul window untuk memilih Database yang akan digunakan, setelah itu klik tombol finish. Browse/Cari database yang akan digunakan
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
90
6.
Perbedaan setelah dikoneksikan dengan database Kemudian pilih table yang akan dikoneksikan
Klik untuk memilih table
Tempat table yang telah dipilih
7. Kemudian pilih tabel yang akan dibuat reportnya pada Form Database Expert setelah itu klik OK 8. Tampilan akan menjadi:
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
91
9. Untuk menampilkan field-field pada yang akan dicetak, drag field pada sisi Field Explorer ke dalam Layar Design Crystal Report.
Drag masing-masing field ke dalam bagian details
10. Untuk mendesign bentuk cetakan, dapat dilakukan di bagian Report Header, Page Header, Report Footer dan Page Footer
Untuk membuat cetakan dengan Crystal Report, biasanya diperlukan sebuah form yang menampung tampilan sementara Crystal Report. Maka kita perlu menambah sebuah form baru. Langkah-langkah yang dilakukan adalah sbb: 1. Klik kanan pada Project di Solution Explorer Klik Add Windows Form
2. Ubah nama pada kolom Name
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
92
3. Tambahkan objek CrystalReportViewer dari Toolbox kedalam form. Hal ini berguna untuk koneksi form dengan CrystalReport
Cari pada grup CrystalReports
Tambahkan CrystalReportViewer ke dalam form
4. Kemudian koneksikan form dengan CrystalReport yang telah dibuat : Atur properties ReportSource --> pilih CrystalReport yang telah dibuat
Pilih CrystalReport yang telah dibuat
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
93
5. Tampilannya akan menjadi :
Nama CrystalReport yang telah dikoneksikan
6. Pada form FrmCetakSP ketikan code berikut:
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
94
MENCETAK LAPORAN MULTI TABLE Untuk membuat laporan dengan Crystal Report langkah yang harus dilakukan adalah sebagai berikut : 11. Klik kanan pada Project kemudian pilih Add lalu pilih Add Windows Forms setelah itu program akan menampilkan kontak dialog Add New Item 12. Pada form Add New Item, pilih Crystal Report, lalu tekan tombol Add. Tuliskan nama laporan yang akan dibuat pada kolom Name.
Ganti namanya menjadi CrCetakLapPembelian
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
95
13. Pada Form Crystal Report Gallery klik As a Blank Report klik tombol OK
14. Setelah desain Crystal Report tampil klik kanan pada Database Fields lalu pilih Database Expert.
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
96
Sehingga muncul tampilan seperti dibawah. Karena kita menggunakan database Access, maka kita pilih Create New Connection Access/Excel (DAO) klik OK
15. Muncul window untuk memilih Database yang akan digunakan, setelah itu klik tombol finish. Browse/Cari database yang akan digunakan
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
97
16.
Klik untuk memilih table Perbedaan setelah dikoneksikan dengan database Kemudian pilih table yang akan dikoneksikan Tempat table yang telah dipilih
17. Kemudian pilih tabel yang akan dibuat reportnya pada Form Database Expert setelah itu klik OK 18. Tampilannya akan menjadi:
19. Untuk menampilkan field-field pada yang akan dicetak, drag field pada sisi Field Explorer ke dalam Layar Design Crystal Report.
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
98
Drag masing-masing field ke dalam bagian details
20. Untuk mendesign bentuk cetakan, dapat dilakukan di bagian Report Header, Page Header, Report Footer dan Page Footer
Untuk membuat laporan dengan Crystal Report, biasanya diperlukan sebuah form yang menampung tampilan sementara Crystal Report. Maka kita perlu menambah sebuah form baru. Langkah-langkah yang dilakukan adalah sbb: 1. Klik kanan pada Project di Solution Explorer Klik Add Windows Form
2. Ubah nama pada kolom Name
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
99
Ubah nama menjadi RptLapPembelian
3. Tambahkan objek CrystalReportViewer dari Toolbox kedalam form. Hal ini berguna untuk koneksi form dengan CrystalReport
Cari pada grup CrystalReports
Tambahkan CrystalReportViewer ke dalam form
4. Kemudian koneksikan form dengan CrystalReport yang telah dibuat : Atur properties ReportSource --> pilih CrystalReport yang telah dibuat
Pilih CrystalReport yang telah dibuat
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
100
5. Tampilannya akan menjadi :
Nama CrystalReport yang telah dikoneksikan
6. Pada form ketikan code:
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
101