Latihan Visual Studio 2008
Latihan Visual Studio 2008
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
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 :
17. Atur properties pada controls melalui properties window dengan aturan sesuai tabel 1.1
Contoh :
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
Gambar 1.5
19. Tambahkan kode dengan Double Click pada btnKet1, tambahkan kode untuk event btnKet1_Click
menjadi sbb :
20. Double Click pada btnKet2, tambahkan kode untuk event btnKet2_Click menjadi sbb :
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
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 !
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
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
Variabel dapat digunakan untuk menerima input. Untuk input dapat digunakan berbagai control yang
ada misal TextBox.
umur = TextBox1.Text
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
ab
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
x = Selamat Sore
y = Emha
z=x&&y
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.
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
Name
Items
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
10
Name
Text
ReadOnly
Name
Text
ReadOnly
Name
Text
txtPesan2
( kosongkan ! )
True
txtPesan3
( kosongkan ! )
True
btnOK
OK
Gambar 2.2
6. Tambahkan kode dengan Double Click pada btnOK, tambahkan kode untuk event btnOK_Click
menjadi sbb :
7. Atur startup object dari project menjadi frmLatihanDua1 melalui menubar : Project
AplikasiLatihanDua1 properties
atau dengan
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.
Gambar 2.4
Properties
Nilai
Name
Text
frmLatihanDua2
Latihan 2.2
Gambar 2.5
5. Selanjutnya tambahkan kode untuk event frmLatihanDua2_Load dengan Double Click pada Form
dan tambahkan kode menjadi sbb :
"Harga Satuan"
""
""
= "0"
= "0"
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 :
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
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
11
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
12
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
<>
Kurang dari
<
Lebih dari
>
<=
>=
Sama dengan
Tidak Sama dengan
13
Tabel 3.2
Operator
Arti
And
Or
Xor
Not
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
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
Gambar 3.2
14
6. Double Click pada btnProses, tambahkan kode untuk event Button1_Click menjadi sbb :
Satu baris
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
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
4
5
Gambar 3.4
15
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
Gambar 3.5
8. Double Click pada Form, tambahkan kode untuk event frmLatihanTiga2_Load menjadi sbb :
9. Double Click pada cbNmBarang, tambahkan kode untuk event cbNmBarang_TextChanged menjadi
sbb :
16
10. Double Click pada btnProses, tambahkan kode untuk event btnProses_Click menjadi sbb :
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
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
18
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
19
20
9. Atur startup object dari project menjadi frmLatihanTiga3 melalui menubar : Project
AplikasiLatihanTiga3 properties
10. Jalankan aplikasi dgn click button start pada toolbar
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
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
22
2
4
3
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
23
10. Atur startup object dari project menjadi frmLatihanEmpat1 melalui menubar : Project
AplikasiLatihanEmpat1 properties
11. Jalankan aplikasi dgn click button start pada toolbar
24
Gambar 4.3
12. Coba kompile aplikasi untuk mendapatkan AplikasiLatihanEmpat1.exe
13. Simpan project anda dengan clik save all
pada toolbar
14. Pelajari !
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
26
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 Dapur
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
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
27
1
2
3
4
5
6
7
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"
28
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
30
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.
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
31
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
- 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
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
34
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.
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.
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
8. Sampai pada langkah delapan seharus class Buku anda akan tampak sbb :
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
37
11. Setelah pengaturan property mengikuti form akan tampak seperti gambar 6.3
38
12. Deklarasikan buku baru di general dan bentuk obyeknya di event Form_Load
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
15. Tambahkan kode untuk merubah pengarang buku pada event btnSetPengarangBuku_Click
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
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
40
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
41
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
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
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
'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")
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
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 :
45
10. Klik TabPage2 (aktifkan), kemudian pada TabPage2 tambahkan control-control sehingga tampil
sbb :
Modul Praktikum Bahasa Pemrograman Visual Basic.NET @2008 .v1.1
46
47
48
49
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
50
Gambar 1
Use Case Diagram Sistem Usulan
4. Rancangan Basisdata
KDSUP
NMSUP
TALAMAT
SP
1*
NOSP
TGLSP
BARANG
1*
1*
TKDBRG
TNMBRG
TSATUAN
PESAN
NOSP
KDBRG
JML
HRG
Gambar 2
Class Diagram Entitas Tanpa Method
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 )
51
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.
52
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 :
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 :
54
55
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.
Tipe Data
Text
Text
Currency
Lebar
7
25
-
Keterangan
Kode Barang
Nama Barang
Jumlah Barang
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
Tipe Data
Text
Text
Number
Currency
Lebar
7
7
-
Keterangan
Kode Barang
Nomor Surat Pesan (SP)
Jumlah Pesan
Harga Barang
Rancangan Layar
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
yang diinginkan
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.
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
58
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
59
GroupBox2
Button2
Button3
Button4
Button5
Button6
Groupbox2
cmdSimpan
cmdUbah
cmdHapus
cmdBatal
cmdKeluar
SIMPAN
UBAH
HAPUS
BATAL
KELUAR
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
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
Gambar 12
61
NAME
frmEntrySP
TEXT
Entry Surat Pesanan
Label1
Label2
TextBox1
Label3
DateTime
Picker
Label1
lblnosp
txtNoSp
lbltglsp
DateTglSp
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
Gambar 13
Rancangan Layar Form Cetak Surat Pesanan
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
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")
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
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
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 = ""
70
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)
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
ListView1
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
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
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
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
btnOK
Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnOK.Click
Call pilih()
End Sub
End Class
80
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.
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.
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
83
6.
7. Kemudian pilih tabel yang akan dibuat reportnya pada Form Database Expert setelah itu klik OK
8.
Perbedaan setelah
dikoneksikan dengan
tabel yang
dibutuhkan
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
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
85
86
87
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.
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
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:
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
92
3. Tambahkan objek CrystalReportViewer dari Toolbox kedalam form. Hal ini berguna untuk koneksi
form dengan CrystalReport
93
94
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.
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
97
16.
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.
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
99
3. Tambahkan objek CrystalReportViewer dari Toolbox kedalam form. Hal ini berguna untuk koneksi
form dengan CrystalReport
100
101