modul
TRANSCRIPT
Modul Privat Vb.NetAde Hidayat Santoso – ade.staf.isi-ska.ac.id
Pertemuan Pertama
Materi : Membuat Aplikasi Database Billing Management Sistem
Sub Materi : Membuat Database di Microsoft SQL Server 2005
: Membuat Projek Baru di Microsoft Visual Studio 2005
: Membuat Dataset di Microsoft Visual Studio 2005
: Membuat Form Deposit
Membuat Database di Microsoft SQL Server 2005
Langkah Pembuatan:
1. Buka aplikasi MS SQL Server 2005
2. Buat sebuah database baru dengan nama “Billing”
3. Susun dan buat tabel-tabel database sesuai gambar berikut:
4. Buat tabel dengan nama “Deposit” dengan field seperti berikut:
5. Buat tabel dengan nama “Member” dengan field seperti berikut:
1
Modul Privat Vb.NetAde Hidayat Santoso – ade.staf.isi-ska.ac.id
6. Buat tabel dengan nama “Setting” dengan field seperti berikut:
7. Buat tabel dengan nama “Transaction” dengan field seperti berikut:
Membuat Projek Baru di Microsoft Visual Studio 2005
Langkah Pembuatan:
1. Buka aplikasi Microsoft Visual Studio 2005
2. Buat sebuah project baru -> Pilih menu “New Project”
2
Modul Privat Vb.NetAde Hidayat Santoso – ade.staf.isi-ska.ac.id
3. Beri nama “Billing” untuk projek baru ini
4. Ada beberapa jendela kerja di Microsoft Visual Studio, diantaranya:
a) Jendela “Toolbox”
Kotak dialog ToolBox ini berisi semua komponen yang akan dipakai untuk membuat sebuah project
aplikasi. ToolBox terbagi menjadi beberapa sub bagian untuk mempermudah pemakai
menggunakannya diantaranya :
3
Modul Privat Vb.NetAde Hidayat Santoso – ade.staf.isi-ska.ac.id
Common Controls
Containers
Menus and Toolbar
Data
Component
Printing
Dialog
Cristal Report (Tambahan jika sudah menginstal Cristal Report)
b) Jendela “Solutions Explorer”
Kotak dialog ini digunakan untuk mengelola (menambah, menghapus, mengganti Item) project yang
dibuat. Di kotak ini kita bisa menambahkan sebuah Form Baru maupun Item Baru yang akan
disisipkan kedalam project yang dibuat. Dalam Kotak ini terdapat 2 Tab Control yaitu Solution
Explorer dan Data Sources.
Data Sources digunakan untuk mengelola DataSet yang sudah kita buat. DataSet sendiri terdiri dari
konfigurasi Tabel Tabel Database.
c) Jendela “Property”
4
Modul Privat Vb.NetAde Hidayat Santoso – ade.staf.isi-ska.ac.id
Kotak dialog ini digunakan untuk memberikan pengaturan pada objek yang ada di Form Project.
d) Jendela “Event”
Kotak dialog Event ini digunakan untuk memberikan perintah pada objek sesuai dengan kejadian
yang diingginkan.
Membuat Dataset di Microsoft Visual Studio 2005
Langkah Pembuatan:
1. Buat sebuah data source baru -> pilih icon “Add New Data Sourses” di tab Data Sources
5
Modul Privat Vb.NetAde Hidayat Santoso – ade.staf.isi-ska.ac.id
2. Pihih “Database” pada pilihan Tipe Data Sources
3. Buat koneksi baru dengan cara Pilih “New Connection”
4. Pilih Data Source “Microsoft SQL Server” dan pilih Data Provider “.Net For SQL Server”
6
Modul Privat Vb.NetAde Hidayat Santoso – ade.staf.isi-ska.ac.id
5. Pilih server Name sesuai dengan nama komputer yang dipakai untuk server database ->
NamaKomputer\SQLEXPRESS
6. Isikan pilihan database name “Billing”
7. Klik “Test Connection” untuk mengetahui apakah koneksinya sukses atau gagal
8. Klik “Ok"
Membuat Deposit Form di Microsoft Visual Studio 2005
Langkah Pembuatan:
1. Buat Windows Form baru seperti gambar dibawah ini:
2. Sisipkan kode berikut di bagian atas setelah “Public Class DepositForm”
Private varDepositId As String
Public Property Deposit_Id() As String Get Return varDepositId End Get Set(ByVal value As String) varDepositId = value End Set End Property
3. Buat Query Adapter di Dataset pada tabel “Deposit” dengan nama “FillByMonthLastTrxId “ yang
berfungsi sebagai filter untuk membuat kode “Id Deposit” secara otomatis, querynya seperti
berikut:
SELECT Deposit_Id, Member_Id, Name, Date, Price, Status
FROM Deposit
WHERE (SUBSTRING(Deposit_Id, 5, 2) = @Year) AND
(SUBSTRING(Deposit_Id, 7, 2) = @Month)
7
Modul Privat Vb.NetAde Hidayat Santoso – ade.staf.isi-ska.ac.id
ORDER BY Deposit_Id DESC
4. Buat baris kode di CodeForm “DepositForm” untuk membuat auto generate-nya, seperti berikut:
Private Sub GetTrxId() Dim LastTrxId As Integer Dim Year, Month As String Dim tmp_Dep_Id As String
tmp_Dep_Id = "" Year = Microsoft.VisualBasic.Right(Me.DateDateTimePicker.Value.Year.ToString, 2) Month = Me.DateDateTimePicker.Value.Month.ToString.PadLeft(2, "0")
Me.DepositTableAdapter.FillByMonthLastTrxId(Me.BillingDataSet.Deposit, Year, Month) If Me.BillingDataSet.Deposit.Rows.Count > 0 Then tmp_Dep_Id = "DEP-" & Microsoft.VisualBasic.Right(Me.DateDateTimePicker.Value.Year.ToString, 2) & Me.DateDateTimePicker.Value.Month.ToString.PadLeft(2, "0") LastTrxId = CInt(Microsoft.VisualBasic.Right(Me.BillingDataSet.Deposit.Item(0).Deposit_Id, 4)) + 1 tmp_Dep_Id = tmp_Dep_Id & "-" & LastTrxId.ToString.PadLeft(5, "0") Me.Deposit_IdTextBox.Text = tmp_Dep_Id Else tmp_Dep_Id = "DEP-" & Microsoft.VisualBasic.Right(Me.DateDateTimePicker.Value.Year.ToString, 2) & Me.DateDateTimePicker.Value.Month.ToString.PadLeft(2, "0") & "-" & "00001" Me.Deposit_IdTextBox.Text = tmp_Dep_Id End IfEnd Sub
5. Buat Query Adapter dengan nama “InsertQuery” pada tabel “Deposit”, seperti berikut:
INSERT INTO [Deposit] ([Deposit_Id], [Member_Id], [Name], [Date],
[Price], [Status]) VALUES (@Deposit_Id, @Member_Id, @Name, @Date,
@Price, @Status)
6. Buat event “Click” pada tombol “Save Data”. Fungsinya untuk menyimpan data ke database,
kodenya seperti berikut:
Private Sub DepositBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DepositBindingNavigatorSaveItem.Click 'Me.Validate() 'Me.DepositBindingSource.EndEdit() 'Me.DepositTableAdapter.Update(Me.BillingDataSet.Deposit)
8
Modul Privat Vb.NetAde Hidayat Santoso – ade.staf.isi-ska.ac.id
Me.DepositTableAdapter.InsertQuery(Me.Deposit_IdTextBox.Text, Me.Member_IdTextBox.Text, Me.NameTextBox.Text, Me.DateDateTimePicker.Value, Me.PriceTextBox.Text, "COMPLETE") MsgBox("Transaksi disimpan") Me.DepositBindingNavigatorSaveItem.Enabled = FalseEnd Sub
7. Buat kode di event “Load” seperti berikut:
Private Sub DepositForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'TODO: This line of code loads data into the 'BillingDataSet.Deposit' table. You can move, or remove it, as needed. 'Me.DepositTableAdapter.Fill(Me.BillingDataSet.Deposit) If Me.varDepositId = "" Then Me.Member_IdTextBox.Text = "" Me.NameTextBox.Text = "" Me.StatusTextBox.Text = "COMPLETE" 'Me.User_IdTextBox.Text = CurrentUser.User_Id Me.PriceTextBox.Text = "" GetTrxId()
Else Me.DepositTableAdapter.FillByDepositId(Me.BillingDataSet.Deposit, Me.varDepositId) Me.Deposit_IdTextBox.Text = Me.BillingDataSet.Deposit.Item(0).Deposit_Id Me.Member_IdTextBox.Text = Me.BillingDataSet.Deposit.Item(0).Member_Id Me.NameTextBox.Text = Me.BillingDataSet.Deposit.Item(0).Name Me.DateDateTimePicker.Value = Me.BillingDataSet.Deposit.Item(0)._Date Me.StatusTextBox.Text = Me.BillingDataSet.Deposit.Item(0).Status If Me.StatusTextBox.Text = "COMPLETE" Or Me.StatusTextBox.Text = "VOID" Then Me.DepositBindingNavigatorSaveItem.Enabled = False Else Me.DepositBindingNavigatorSaveItem.Enabled = True End If
End If
End Sub
8. Yang terakhir berikan event perintah “Click” di tombol cari anggota, seperti berikut:
Private Sub SearchMemberButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SearchMemberButton.Click My.Forms.MemberListForm.ShowDialog() If My.Forms.MemberListForm.MemberId <> "" Then Me.Member_IdTextBox.Text = My.Forms.MemberListForm.MemberId Me.NameTextBox.Text = My.Forms.MemberListForm.MemberName End If End Sub
9
Modul Privat Vb.NetAde Hidayat Santoso – ade.staf.isi-ska.ac.id
10
Modul Privat Vb.NetAde Hidayat Santoso – ade.staf.isi-ska.ac.id
Pertemuan Kedua
Materi : Membuat Aplikasi Database Billing Management Sistem
Sub Materi : Membuat Form Deposit List
: Membuat Form Member
Membuat Deposit List Form di Microsoft Visual Studio 2005
Langkah Pembuatan:
1. Buat Windows Form baru seperti gambar dibawah ini:
2. Buat Beberapa Query Adapter di Dataset seperti berikut :
FillByDateRange
SELECT Deposit_Id, Member_Id, Name, Date, Price, Status
FROM Deposit
WHERE (Date BETWEEN @From AND @to)
FillByNameLike
SELECT Deposit_Id, Member_Id, Name, Date, Price, Status
FROM Deposit
WHERE (Name LIKE '%' + @Name + '%')
UpdateStatus
UPDATE Deposit
SET Status = @Status
WHERE (Deposit_Id = @Deposit_Id)
3. Buat event pada tombol “Show All” seperti berikut:
11
Modul Privat Vb.NetAde Hidayat Santoso – ade.staf.isi-ska.ac.id
Private Sub ShowallToolStripButton4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ShowallToolStripButton4.Click Me.DepositTableAdapter.Fill(Me.BillingDataSet.Deposit) End Sub
4. Buat event pada tombol “Add New” seperti berikut:
Private Sub AddToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AddToolStripButton1.Click My.Forms.DepositForm.ShowDialog() End Sub
5. Buat event pada tombol “View” seperti berikut:
Private Sub ViewToolStripButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ViewToolStripButton2.Click If Me.DepositDataGridView.SelectedRows.Count <> 1 Then MsgBox("Pilih hanya satu List untuk melakukan View") Exit Sub End If
If Not Me.DepositDataGridView.CurrentRow Is Nothing Then My.Forms.DepositForm.Deposit_Id = Me.DepositDataGridView.CurrentRow.Cells("DataGridViewTextBoxColumn1").Value My.Forms.DepositForm.Show() End If End Sub
6. Buat event pada tombol “Void” seperti berikut:
Private Sub VoidToolStripButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VoidToolStripButton3.Click Dim Dep_ID As String Dep_ID = Me.DepositDataGridView.CurrentRow.Cells("DataGridViewTextBoxColumn1").Value If Me.DepositDataGridView.SelectedRows.Count <> 1 Then MsgBox("Pilih hanya satu List untuk melakukan Void") Exit Sub End If Me.DepositTableAdapter.UpdateStatus("VOID", Dep_ID) MsgBox("Transaksi dibatalkan") End Sub
7. Buat event pada tombol “Go” seperti berikut:
Private Sub SearchButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SearchButton.Click Me.DepositTableAdapter.FillByNameLike(Me.BillingDataSet.Deposit, Me.SearchTextBox.Text) End Sub
12
Modul Privat Vb.NetAde Hidayat Santoso – ade.staf.isi-ska.ac.id
Membuat Member Form di Microsoft Visual Studio 2005
Langkah Pembuatan:
1. Buat Windows Form baru seperti gambar dibawah ini:
2. Buat Beberapa Query Adapter di Dataset seperti berikut :
FillByMemberId
SELECT Member_Id, Name, Address, Birthday, Sex, Phone
FROM Member
WHERE (Member_Id = @MemberId)
InsertQuery
INSERT INTO [dbo].[Member] ([Member_Id], [Name], [Address],
[Birthday], [Sex], [Phone]) VALUES (@Member_Id, @Name, @Address,
@Birthday, @Sex, @Phone);
UpdateQuery
UPDATE Member
SET Name = @Name, Address = @Address, Birthday =
@Birthday, Sex = @Sex, Phone = @Phone
WHERE (Member_Id = @Original_Member_Id);
3. Sisipkan kode berikut di bagian atas setelah “Public Class MemberForm”
Private varMemberId As String Public Property Member_Id() As String Get Return varMemberId End Get Set(ByVal value As String) varMemberId = value End Set
13
Modul Privat Vb.NetAde Hidayat Santoso – ade.staf.isi-ska.ac.id
End Property
4. Sisipkan kode berikut di bagian event “Load” pada MemberForm
Private Sub MemberForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'TODO: This line of code loads data into the 'BillingDataSet.Member' table. You can move, or remove it, as needed. 'Me.MemberTableAdapter.Fill(Me.BillingDataSet.Member) If Me.varMemberId = "" Then Me.Member_IdTextBox.ReadOnly = False Me.NameTextBox.ReadOnly = False Me.AddressTextBox.ReadOnly = False Me.BirthdayDateTimePicker.Enabled = True Me.SexTextBox.SelectedIndex = -1 Me.PhoneTextBox.ReadOnly = False Me.UpdateToolStripButton.Enabled = False
Else Me.MemberTableAdapter.FillByMemberId(Me.BillingDataSet.Member, Me.varMemberId) Me.SexTextBox.Text = Me.BillingDataSet.Member.Item(0).Sex Me.MemberBindingNavigatorSaveItem.Enabled = False End If End Sub
5. Buat event pada tombol “Save Data” seperti berikut:
Private Sub MemberBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MemberBindingNavigatorSaveItem.Click Me.Validate() Me.MemberBindingSource.EndEdit() 'Me.MemberTableAdapter.Update(Me.BillingDataSet.Member) Me.MemberTableAdapter.InsertQuery(Me.Member_IdTextBox.Text, Me.NameTextBox.Text, Me.AddressTextBox.Text, Me.BirthdayDateTimePicker.Value, Me.SexTextBox.Text, Me.PhoneTextBox.Text) MsgBox("Data berhasil disimpan") Me.Member_IdTextBox.ReadOnly = True Me.NameTextBox.ReadOnly = True Me.AddressTextBox.ReadOnly = True Me.BirthdayDateTimePicker.Enabled = False Me.SexTextBox.Enabled = False Me.PhoneTextBox.ReadOnly = True Me.MemberBindingNavigatorSaveItem.Enabled = False
End Sub
6. Buat event pada tombol “Update” seperti berikut:
Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UpdateToolStripButton.Click Me.MemberTableAdapter.UpdateQuery(Me.NameTextBox.Text, Me.AddressTextBox.Text, Me.BirthdayDateTimePicker.Value, Me.SexTextBox.Text, Me.PhoneTextBox.Text, Me.Member_IdTextBox.Text) MsgBox("Data berhasil diupdate") Me.MemberTableAdapter.FillByMemberId(Me.BillingDataSet.Member, Me.Member_IdTextBox.Text)
14
Modul Privat Vb.NetAde Hidayat Santoso – ade.staf.isi-ska.ac.id
End Sub
15
Modul Privat Vb.NetAde Hidayat Santoso – ade.staf.isi-ska.ac.id
Pertemuan Ketiga
Materi : Membuat Aplikasi Database Billing Management Sistem
Sub Materi : Membuat Form Member List
: Membuat Form Transaction List
Membuat Member List Form di Microsoft Visual Studio 2005
Langkah Pembuatan:
1. Buat Windows Form baru seperti gambar dibawah ini:
2. Buat Beberapa Query Adapter di Dataset seperti berikut :
DeleteQuery
DELETE FROM Member
WHERE (Member_Id = @Original_Member_Id)
FillByNameLike
SELECT Member_Id, Name, Address, Birthday, Sex, Phone
FROM Member
WHERE (Name LIKE '%' + @Name + '%')
3. Sisipkan kode berikut di bagian atas setelah “Public Class MemberListForm”
Private varMemberId As String Private varMemberName As String
Public Property MemberId() As String Get Return varMemberId End Get Set(ByVal value As String) varMemberId = value End Set
16
Modul Privat Vb.NetAde Hidayat Santoso – ade.staf.isi-ska.ac.id
End Property Public Property MemberName() As String Get Return varMemberName End Get Set(ByVal value As String) MemberName = value End Set End Property
4. Buat event pada tombol “View All” seperti berikut:
Private Sub ViewallToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ViewallToolStripButton.Click Me.MemberTableAdapter.Fill(Me.BillingDataSet.Member) End Sub
5. Buat event pada tombol “Add New” seperti berikut:
Private Sub ToolStripButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton2.Click My.Forms.MemberForm.Show() End Sub
6. Buat event pada tombol “View” seperti berikut:
Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click If Me.MemberDataGridView.SelectedRows.Count <> 1 Then MsgBox("Pilih hanya satu List untuk melakukan View") Exit Sub End If
If Not Me.MemberDataGridView.CurrentRow Is Nothing Then My.Forms.MemberForm.Member_Id = Me.MemberDataGridView.CurrentRow.Cells("DataGridViewTextBoxColumn1").Value My.Forms.MemberForm.Show() End If
End Sub
7. Buat event pada tombol “Delete” seperti berikut:
Private Sub DeleteToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DeleteToolStripButton.Click If MsgBox("Anda ingin menghapus?", MsgBoxStyle.YesNo, "Delete") = MsgBoxResult.Yes Then Me.MemberTableAdapter.DeleteQuery(Me.MemberDataGridView.CurrentRow.Cells("DataGridViewTextBoxColumn1").Value) Else Exit Sub End If End Sub
17
Modul Privat Vb.NetAde Hidayat Santoso – ade.staf.isi-ska.ac.id
8. Buat event pada tombol “Go” seperti berikut:
Private Sub SearchButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SearchButton.Click If Me.SearchTextBox.Text.Trim = "" Then Me.MemberTableAdapter.Fill(Me.BillingDataSet.Member) Else Me.MemberTableAdapter.FillByNameLike(Me.BillingDataSet.Member, Me.SearchTextBox.Text) End If End Sub
Membuat Transaction List Form di Microsoft Visual Studio 2005
Langkah Pembuatan:
1. Buat Windows Form baru seperti gambar dibawah ini:
2. Buat Beberapa Query Adapter di Dataset seperti berikut :
FillByDateRange
SELECT Date, Desk, End_Time, Member_Id, Name, Price, Start_Time, Status,
Transaction_Id, User_Id FROM [Transaction] WHERE (Date BETWEEN @from AND
@to)
FillByTransactionId
SELECT Date, Desk, End_Time, Member_Id, Name, Price, Start_Time, Status,
Transaction_Id, User_Id FROM [Transaction] WHERE (Transaction_Id =
@Transaction_Id)
FillByNameLike
18
Modul Privat Vb.NetAde Hidayat Santoso – ade.staf.isi-ska.ac.id
SELECT Date, Desk, End_Time, Member_Id, Name, Price, Start_Time,
Status, Transaction_Id, User_Id
FROM [Transaction]
WHERE (Name LIKE '%' + @Name + '%')
UpdateStatus
UPDATE [Transaction]
SET Status = @Status
WHERE (Transaction_Id = @Original_Transaction_Id);
3. Buat sebuah function yang berfungsi untuk memberikan warna peringatan di Grid seperti
berikut:
Private Sub Mark() Dim Status As String = ""
For i As Integer = 0 To Me.TransactionDataGridView.Rows.Count - 1 Status = Me.TransactionDataGridView.Rows(i).Cells("DataGridViewTextBoxColumn6").Value If Status = "PLAY" Then Me.TransactionDataGridView.Rows(i).DefaultCellStyle.BackColor = Color.Khaki End If Next
End Sub
4. Sisipkan kode berikut di bagian event “Paint” pada DataGrid Transaction List Form
Private Sub TransactionDataGridView_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles TransactionDataGridView.Paint Mark() End Sub
5. Buat event pada tombol “View All” seperti berikut:
Private Sub ViewallToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ViewallToolStripButton.Click Me.TransactionTableAdapter.Fill(Me.BillingDataSet.Transaction) End Sub
6. Buat event pada tombol “Add New” seperti berikut:
Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click My.Forms.TransactionForm.ShowDialog() End Sub
19
Modul Privat Vb.NetAde Hidayat Santoso – ade.staf.isi-ska.ac.id
7. Buat event pada tombol “View” seperti berikut:
Private Sub ViewToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ViewToolStripButton1.Click If Me.TransactionDataGridView.SelectedRows.Count <> 1 Then MsgBox("Pilih hanya satu List untuk melakukan View") Exit Sub End If
If Not Me.TransactionDataGridView.CurrentRow Is Nothing Then My.Forms.TransactionForm.Trans_Id = Me.TransactionDataGridView.CurrentRow.Cells("DataGridViewTextBoxColumn1").Value My.Forms.TransactionForm.Show() End If End Sub
8. Buat event pada tombol “Void” seperti berikut:
Private Sub ToolStripButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton2.Click Dim Trans_ID As String Trans_ID = Me.TransactionDataGridView.CurrentRow.Cells("DataGridViewTextBoxColumn1").Value If Me.TransactionDataGridView.SelectedRows.Count <> 1 Then MsgBox("Pilih hanya satu List untuk melakukan Void") Exit Sub End If Me.TransactionTableAdapter.UpdateStatus("VOID", Trans_ID) MsgBox("Transaksi dibatalkan") End Sub
9. Buat event pada tombol “Go” pada kotak pencarian berdasarkan Transaction Id seperti berikut:
Private Sub TransactionSearchButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TransactionSearchButton.Click If Me.TransactionTextBox.Text.Trim = "" Then Me.TransactionTableAdapter.Fill(Me.BillingDataSet.Transaction) Else Me.TransactionTableAdapter.FillByTransactionId(Me.BillingDataSet.Transaction, Me.TransactionTextBox.Text) End If End Sub
10. Buat event pada tombol “Go” pada kotak pencarian berdasarkan Nama seperti berikut:
Private Sub NameSearchButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NameSearchButton.Click If Me.NameTextBox.Text.Trim = "" Then Me.TransactionTableAdapter.Fill(Me.BillingDataSet.Transaction) Else
20
Modul Privat Vb.NetAde Hidayat Santoso – ade.staf.isi-ska.ac.id
Me.TransactionTableAdapter.FillByNameLike(Me.BillingDataSet.Transaction, Me.NameTextBox.Text) End If End Sub
21
Modul Privat Vb.NetAde Hidayat Santoso – ade.staf.isi-ska.ac.id
Pertemuan Keempat
Materi : Membuat Aplikasi Database Billing Management Sistem
Sub Materi : Membuat Form Transaction
Membuat Transaction Form di Microsoft Visual Studio 2005
Langkah Pembuatan:
1. Buat Windows Form baru seperti gambar dibawah ini:
2. Buat Beberapa Query Adapter di Dataset seperti berikut :
FillByMonthLastTrxId
SELECT Transaction_Id, Member_Id, Name, Date, Start_Time, End_Time,
Price, Desk, User_Id, Status
FROM [Transaction]
WHERE (SUBSTRING(Transaction_Id, 5, 2) = @Year) AND
(SUBSTRING(Transaction_Id, 7, 2) = @Month)
ORDER BY Transaction_Id DESC
FillByStatus
SELECT Date, Desk, End_Time, Member_Id, Name, Price, Start_Time, Status,
Transaction_Id, User_Id FROM [Transaction] WHERE (Status = @Status)
22
Modul Privat Vb.NetAde Hidayat Santoso – ade.staf.isi-ska.ac.id
FillByStatusPlay()
SELECT Transaction_Id, Member_Id, Name, Date, Start_Time, End_Time,
Price, Desk, User_Id, Status
FROM [Transaction]
WHERE (Status = 'PLAY')
FinishPlay
UPDATE [Transaction]
SET End_Time = @End_Time, Status = @Status
WHERE (Transaction_Id = @Original_Transaction_Id);
InsertQuery
INSERT INTO [Transaction] ([Transaction_Id], [Member_Id], [Name],
[Date], [Start_Time], [End_Time], [Price], [Desk], [User_Id], [Status])
VALUES (@Transaction_Id, @Member_Id, @Name, @Date, @Start_Time,
@End_Time, @Price, @Desk, @User_Id, @Status);
SaveTransaction
UPDATE [Transaction]
SET Price = @Price, Desk = @Desk
WHERE (Transaction_Id = @Original_Transaction_Id);
3. Sisipkan kode berikut di bagian atas setelah “Public Class MemberListForm”
Private varTransId As String
Public Property Trans_Id() As String Get Return varTransId End Get Set(ByVal value As String) varTransId = value End Set End Property
4. Buat baris kode di CodeForm “TransactionForm” untuk membuat auto generate-nya, seperti
berikut:
Private Sub GetTrxId() Dim LastTrxId As Integer Dim Year, Month As String Dim tmp_Trans_Id As String
tmp_Trans_Id = "" Year = Microsoft.VisualBasic.Right(Me.DateDateTimePicker.Value.Year.ToString, 2) Month = Me.DateDateTimePicker.Value.Month.ToString.PadLeft(2, "0") Me.TransactionTableAdapter.FillByMonthLastTrxId(Me.BillingDataSet.Transaction, Year, Month)
23
Modul Privat Vb.NetAde Hidayat Santoso – ade.staf.isi-ska.ac.id
If Me.BillingDataSet.Transaction.Rows.Count > 0 Then tmp_Trans_Id = "TRN-" & Microsoft.VisualBasic.Right(Me.DateDateTimePicker.Value.Year.ToString, 2) & Me.DateDateTimePicker.Value.Month.ToString.PadLeft(2, "0") LastTrxId = CInt(Microsoft.VisualBasic.Right(Me.BillingDataSet.Transaction.Item(0).Transaction_Id, 4)) + 1 tmp_Trans_Id = tmp_Trans_Id & "-" & LastTrxId.ToString.PadLeft(5, "0") Me.Transaction_IdTextBox.Text = tmp_Trans_Id Else tmp_Trans_Id = "TRN-" & Microsoft.VisualBasic.Right(Me.DateDateTimePicker.Value.Year.ToString, 2) & Me.DateDateTimePicker.Value.Month.ToString.PadLeft(2, "0") & "-" & "00001" Me.Transaction_IdTextBox.Text = tmp_Trans_Id End If
End Sub
5. Buat kode di event “Load” seperti berikut:
Private Sub TransactionForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'TODO: This line of code loads data into the 'BillingDataSet.Transaction' table. You can move, or remove it, as needed. 'Me.TransactionTableAdapter.Fill(Me.BillingDataSet.Transaction) If Me.varTransId = "" Then Me.Member_IdTextBox.Text = "" Me.NameTextBox.Text = "" Me.StatusTextBox.Text = "PLAY" Me.User_IdTextBox.Text = CurrentUser.User_Id Me.StopButton.Enabled = False Me.StartButton.Enabled = True Me.SaveButton.Enabled = False GetTrxId()
Else Me.TransactionTableAdapter.FillByTransactionId(Me.BillingDataSet.Transaction, Me.varTransId) Me.Transaction_IdTextBox.Text = Me.BillingDataSet.Transaction.Item(0).Transaction_Id Me.Member_IdTextBox.Text = Me.BillingDataSet.Transaction.Item(0).Member_Id Me.NameTextBox.Text = Me.BillingDataSet.Transaction.Item(0).Name Me.DateDateTimePicker.Value = Me.BillingDataSet.Transaction.Item(0)._Date Me.StatusTextBox.Text = Me.BillingDataSet.Transaction.Item(0).Status If Me.StatusTextBox.Text = "FINISH" Or Me.StatusTextBox.Text = "VOID" Then Me.StopButton.Enabled = False Else Me.StopButton.Enabled = True End If
24
Modul Privat Vb.NetAde Hidayat Santoso – ade.staf.isi-ska.ac.id
Me.User_IdTextBox.Text = Me.BillingDataSet.Transaction.Item(0).User_Id Me.PriceTextBox.Text = Me.BillingDataSet.Transaction.Item(0).Price Me.DeskTextBox.Text = Me.BillingDataSet.Transaction.Item(0).Desk Me.StartButton.Enabled = False Me.SaveButton.Enabled = False End If Me.Timer.Start() End Sub
6. Buat Function untuk membuat jam digital pada form, seperti berikut:
Private Sub Timer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer.Tick Dim jamku As Date jamku = DateTime.Now Jam.Text = jamku.Hour.ToString() Menit.Text = jamku.Minute.ToString() Detik.Text = jamku.Second.ToString() End Sub
7. Buat Function untuk menghitung lama penggunaan, seperti berikut:
Private Sub GetSelisih() Dim mulai, selesai As Date Dim selisih_menit As Decimal Dim harga, total As Double
Me.TransactionTableAdapter.FillByTransactionId(Me.BillingDataSet.Transaction, Me.Transaction_IdTextBox.Text) mulai = Me.BillingDataSet.Transaction.Item(0).Start_Time selesai = Me.BillingDataSet.Transaction.Item(0).End_Time selisih_menit = DateDiff(DateInterval.Minute, mulai, selesai) 'Me.DeskTextBox.Text = selisih_menit
Me.SettingTableAdapter.Fill(Me.BillingDataSet.Setting) If Me.BillingDataSet.Setting.Count > 1 Then MsgBox("Gagal. Terdapat dua setting harga rental, hubungi administrator.") Exit Sub Else harga = Me.BillingDataSet.Setting.Item(0).Price End If total = selisih_menit * harga Me.PriceTextBox.Text = total End Sub
8. Buat event pada tombol “Search Member” seperti berikut:
Private Sub SearchMemberButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SearchMemberButton.Click My.Forms.MemberListForm.ShowDialog() If My.Forms.MemberListForm.MemberId <> "" Then Me.Member_IdTextBox.Text = My.Forms.MemberListForm.MemberId Me.NameTextBox.Text = My.Forms.MemberListForm.MemberName
25
Modul Privat Vb.NetAde Hidayat Santoso – ade.staf.isi-ska.ac.id
End If End Sub
9. Buat event pada tombol “Start” seperti berikut:
Private Sub StartButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StartButton.Click If Me.Transaction_IdTextBox.Text = "" Then MsgBox("Id Transaksi harus diisi") Exit Sub ElseIf Me.Member_IdTextBox.Text = "" Then MsgBox("Id Member belum diisi") Exit Sub End If
Me.TransactionTableAdapter.FillByStatusPLAY(Me.BillingDataSet.Transaction)
For i As Integer = 0 To Me.TransactionTableAdapter.FillByStatusPLAY(Me.BillingDataSet.Transaction) If Me.BillingDataSet.Transaction.Count = 0 Then ElseIf Me.BillingDataSet.Transaction.Item(0).Member_Id = Me.Member_IdTextBox.Text Then MsgBox("Member tercatat masih bermain. status = PLAY") Exit Sub End If Next
Me.TransactionTableAdapter.InsertQuery(Me.Transaction_IdTextBox.Text, Me.Member_IdTextBox.Text, Me.NameTextBox.Text, Me.DateDateTimePicker.Value, Now, Now, 0, Me.DeskTextBox.Text, Me.User_IdTextBox.Text, "PLAY") MsgBox("Transaksi dimulai") Me.StartButton.Enabled = False Me.StopButton.Enabled = True End Sub
10. Buat event pada tombol “Stop” seperti berikut:
Private Sub StopButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StopButton.Click If Me.Transaction_IdTextBox.Text = "" Then MsgBox("Tidak ditemukan transaksi") Exit Sub Else
Me.TransactionTableAdapter.FinishPlay(Now, "FINISH", Me.Transaction_IdTextBox.Text) MsgBox("Waktu selesai, perubahan sudah disimpan.") GetSelisih() Me.TransactionTableAdapter.FillByTransactionId(Me.BillingDataSet.Transaction, Me.Transaction_IdTextBox.Text) Me.StopButton.Enabled = False Me.StartButton.Enabled = False
26
Modul Privat Vb.NetAde Hidayat Santoso – ade.staf.isi-ska.ac.id
Me.SaveButton.Enabled = True
End If End Sub
11. Buat event pada tombol “Save” seperti berikut:
Private Sub SaveButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveButton.Click Me.TransactionTableAdapter.SaveTransaction(Me.PriceTextBox.Text, Me.DeskTextBox.Text, Me.Transaction_IdTextBox.Text) MsgBox("Transaksi selesai.") Me.PriceTextBox.ReadOnly = False Me.DeskTextBox.ReadOnly = False Me.SaveButton.Enabled = False End Sub
27