Anda di halaman 1dari 40

Ecommerce II

Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM

BAB I PENDAHULUAN .NET Data Provider .NET Data Provider adalah sekumpilan class-class yang digunakan untuk melakukan koneksi ke database, serta untuk mengambil, meng-update, dan men-delete data. Visual Basic .NET mengklasifikasikan beberapa tipe .NET Data Provider berdasarkan jenis database yang digunakan, yaitu :
SQL Server .NET Data Provider

Provider ini dipakai untuk database SQL Server 7.0 dan versi diatasnya. Contoh :Imports System.Data.SqlClient
LE DB .NET Data Provider

Provider ini dipakai untuk database SQL Server 6.5, Microsoft Accsess, serta database lain yang mempunyai provider OLE DB. Contoh : Imports System.Data.OleDb
ODBC .NET Data Provider

Provider ini dipakai untuk database yang hanya mempunyai driver ODBC Contoh: Imports System.Data.Odbc

Class-class yang terdapat didalam .NET Data Provider, meliputi : Connection Class Connection digunakan untuk melakukan koneksi ke dalam database

Command Class Command digunakan untuk menjalankan perintah SQL pada database DataReader Class DataReader digunakan untuk melakukan pembacaan data pada
1

Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM

database

DataAdapter Class DataAdapter digunakan untuk menghubungkan antara database dengan dataset.

1) Object Connection 1.1 Property Connectionstring Sebuah database. Contoh Connectionstring

connectionstring

mendefinisikan

parameter-

parameter yang dibutuhkan dalam membuat suatu koneksi pada

Microsoft Accsess

Public strConn As String = _ Provider=Microsoft.jet.OLEDB.4.0;Data _ & Source= & Application.StartupPath & \penjualan.mdb;

MySql

Public Conn As String = Server=localhost;User & _ ID=root;password=;database=penjualan Setelah membuat Connectionstring anda tinggal membuat Object dari class Connection. Untuk database MySql pembuatan object connection seperti berikut ini : Dim con As MySqlConnection() con =New MySqlConnection(Conn) con.Open() 2) Object Command Perintah SQL yang akan anda jalankan misalnya INSERT, UPDATE, DELETE harus menggunakan object command. Berikut contoh membuat object command : Dim cmd As MySqlCommand cmd = New MySqlCommand(isi denan perintah SQL, con) Selanjutnya anda harus melakukan eksekusi terhadap object command tersebut agar perintah SQL yang dibawa oleh object command itu dapat

Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM

dijalankan pada database. Berikut ini beberapa metode yang dapat digunakan untuk menjalankan object command :

ExecuteReader

Digunakan saat kita ingin membaca/mencari data yang ada di database

ExecuteNonQuery

Digunakan saat kita ingin menyimpan, mengubah, menghapus data yang ada di database. Contoh: Dim cmd As MySqlCommand cmd = New MySqlCommand(isi denan perintah SQL, con cmd.ExecuteNonQuery 3) Object DataReader DataReader merupakan object yang digunakan untuk membaca data dari database. Didalam membuat object DataReader anda harus memanggil metode ExecuteReader dari object .Net yang lain yaitu object Command. Contoh: Dim Reader As MySqlDataReader Reader = cmd.ExecuteReader Sebelum membuat aplikasi database Visual Basic .NET dengan Database MySql terlebih dahulu buat databasenya dengan nama SC . Buat table-tabel sebagai berikut :

Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM

BAB II PERANCANGAN DATABASE Table Pelanggan Field Kd_Plg (PK) Nm_Plg Almt_Plg Telp_Plg Table Barang Type Varchar Varchar Varchar Varchar File Size 7 30 50 20

Field Kd_Brg (PK) Nm_Brg Harga Stock Satuan

Type Varchar Varchar Double Int Varchar

File Size 7 30 10

Tabel Pesan Field No_Nota Kd_Brg Jml_Brg Harsat Type Varchar Varchar Int Double File Size 7 7 -

Tabel Nota Field No_Nota Tgl_Nota Kd_Plg Type Varchar Date Varchar File Size 7 7

Tabel TandaTerima Field No_T T Tgl_T T No_Nota Type Varchar Date Varchar File Size 7 7

Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM

Tabel Kw itansi Field No_Kwt Tgl_Kwt No_T T Type Varchar Date Varchar File Size 7 7

Seting Database server agar bisa diakses oleh client Buat user baru pada database mysql
1. Buka browser lalu ketikan http://localhost/phpmyadmin pada adrress bar 2. Masukan user dan password database server, pada komputer saya user=root,

password=root

3. Klik privileges

4. Klik add a new user

Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM

5. Pada pilihan global privileges pilih check all 6. Tambahkan script bind-address=ip server pada file my.cnf

7. Kemudian Restart server anda Membuat database melalui Phpmyadmin Buka browser lalu ketikan http://ip server/phpmyadmin pada adrress bar Masukan user dan password database server, pada komputer saya user=root, password=root

Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM

Setelah berhasil masuk ke database server, kita akan buat sebuah database dengan nama dbtoko dengan cara mengetikan nama database pada kolom create new database

Kemudian tekan tombol create Membuat tabel pelanggan


1. Masukan nama tabel pada name 2. Masukan jumlah field pada kolom number of field lalu klik tombol Go

Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM

3. Masukan field-diled sesuai dengan rancangan database diatas

4. Kemudian jadikan field kd_plg sebagai primery key dengan memberikan chcklist pada option primary 5. Klik tombol save untuk mengakhiri pembuatan tabel pelanggan

Membuat tabel Barang


8

Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM

1.

Klik nama database dbtoko yang berada di panel database

2.

Masukan nama tabel dan jumlah field pada kolom number of field

Lalu klik tombol Go

3.

Masukan field-diled sesuai dengan rancangan database diatas

4.

Kemudian jadikan field kd_brg sebagai primery key dengan


9

Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM

memberikan chcklist pada option primary

5.

Klik tombol save untuk mengakhiri pembuatan tabel barang Ulangi langkah yang sama untuk membuat tabel pesan, nota, kwitansi,

6.

dan tanda_terima

10

Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM

BAB III PEMBUATAN APLIKASI PENJUALAN

Buka Visual Studio 2008 Caranya : Start =>All Program =>Microsoft Visual Studio 2008 =>Microsoft Visual Studio 2008. Buat project baru caranya : File =>New Project =>Pada Project Type pilih Windows => pilih gambar yang ada tulisan Windows Application =>Isi Name dengan nama Penjualan => Click OK. Maka akan muncul tampilan seperti ini :

Gambar Tampilan Project Kemudian pada jendela Solution Explorer yang berada di sebelah kanan click kanan Penjualan =>add => Module muncul kotak dialog add new item pilih Module isi name dengan nama ModConnect Click OK. Maka Tampilan Jendela Solution Eksplorer akan muncul sebuah Module dengan Name : ModConnect seperti di bawah ini :

11

Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM

Gambar Halaman Modul Kemudian buat String koneksi di bagian dalam module. Berikut penulisan String koneksi

<< String koneksi untuk database MySql >> 'Connection string untuk database MySql Public Conn As String = "Server=ipserver;User" & _ "ID=root;password=root;database=dbtoko" Kemudian design Form1.vb seperti gambar di bawah ini :

Gambar Form Data Pelanggan Setting di properties masing-masing control sebagai berikut ; Label 4 Label 5 Text Name Text Name Text Alamat Pelanggan Lanel4 Telepon Label 5 Cari Nama Pelangggan
12

Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM

Button 1 Button 2 Button 3 Button 4 GroupBox1 Listview1 TextBox1 TextBox2 TextBox3 TextBox4 TextBox5

Name Text Name Text Name Text Name Text Name Name Name Name Name Multiline Name Name

Button1 Save Button2 Delete Button3 Refresh Button4 Exit GroupBox1 Listview1 TextBox1 TextBox2 TextBox3 True TextBox4 TextBox5

Setelah mendesign Form1.vb Pada Jendela Solution Eksplorer yang ada disebelah kanan Click View Code maka Akan muncul tampilan layer untuk menuliskan kode program.

Gambar bagian General Dalam membuat program menggunakan database MySql maka terlebih dahulu harus menambahkan MySql.data.dll sebelum anda menambahkan MySql.data.dll pastikan anda sudah memiliki dll-nya berikut cara menambahkannya : Pada menu bar Click Project -> Add Reference

13

Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM

Gambar Menampilkan Jendela Add Reference Maka akan muncul tampilan seperti ini :

Gambar Jendela Add Reference Kemudian Click tab Browse lalu cari dimana MySql.data.dll kemudian pilih MySql.data.dll lalu Click OK. Setelah selesai menambahkan MySql.data.dll lalu pada bagian paling atas ketik code seperti ini : Imports MySql.Data.MySqlClient

14

Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM

Pada baagian General, ketikkan code seperti Berfungsi untuk mendeklarasikan object

dibawah ini.

MySqlCommand,

MySqlDataReader, MySqlConnection. Dim cmd As MySqlCommand Dim Reader As MySqlDataReader Dim con As MySqlConnection Buat sub procedure isikode untuk membuat kode pelanggan Auto Number seperti berikut ini : Private Sub isikode() Try 'Buat Auto Number Untuk Kode Dim strTemp As String = "" Dim strValue As String = "" Dim sql As String sql = "SELECT * FROM pelanggan ORDER BY Kd_Plg DESC" cmd = New MySqlCommand(sql, con) Reader = cmd.ExecuteReader If Reader.Read Then strTemp = Mid(Reader.Item("Kd_Plg"), 4, 3) Else TextBox1.Text = "P" & Now.ToString("yy") & "001" Exit Sub End If strValue = Val(strTemp) + 1 TextBox1.Text = "P" & Now.ToString("yy") & _ Mid("000", 1, 3 strValue.Length) & strValue tutup() Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub Buat sub procedure isilistview untuk mengisi data pelanggan ke dalam Listview 1 seperti berikut ini : Private Sub isilistview() Try

15

Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM

cmd = New MySqlCommand("select * from " & _ "pelanggan order by Kd_Plg Asc", con) Reader = cmd.ExecuteReader ListView1.Items.Clear() While Reader.Read Dim list As New ListViewItem list.Text = Reader.Item(0) list.SubItems.Add(Reader.Item(1)) list.SubItems.Add(Reader.Item(2)) list.SubItems.Add(Reader.Item(3)) ListView1.Items.AddRange(New ListViewItem() {list}) End While tutup() Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub

Buat event Listview1_DoubleClick untuk mengisi data yang di pilih pada Listview ke textbox seperti berikut ini : Private Sub ListView1_DoubleClick(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles ListView1.DoubleClick Button1.Text = "EDIT" TextBox1.Text TextBox2.Text TextBox3.Text End Sub Buat event TextBox5_TextChanged unduk mencari data pada Listview seperti berikut ini : Private Sub TextBox5_TextChanged(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles TextBox5.TextChanged cmd = New OleDbCommand("SELECT * FROM pelanggan WHERE " &_ " Nm_Plg LIKE '%" & Trim(TextBox5.Text) & _ "%' ORDER BY Kd_Plg ASC", con) Reader = cmd.ExecuteReader ListView1.Items.Clear() While
16

= = =

ListView1.FocusedItem.SubItems(0).Text ListView1.FocusedItem.SubItems(1).Text ListView1.FocusedItem.SubItems(2).Text

TextBox4.Text = ListView1.FocusedItem.SubItems(3).Text

Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM

Reader.Read = True Dim item As New ListViewItem item.Text = Reader.Item(0) item.SubItems.Add(Reader.Item(1)) item.SubItems.Add(Reader.Item(2)) item.SubItems.Add(Reader.Item(3)) ListView1.Items.AddRange(New While tutup() End Sub ListViewItem() {item}) End

Buat sub procedure awal seperti berikut ini : Private Sub awal() tutup() isikode() isilistview() End Sub Buat sub procedure tutup seperti berikut ini:

Private Sub tutup() cmd.Dispose() Reader.Close() End Sub Buat event List_Pelanggan_Load seperti berikut ini: Private Sub List_Pelanggan_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load Try con = New MySqlConnection(Conn) con.Open() isikode() isilistview() Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub

17

Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM

Kembali ke Design Form List Pelanggan Double Click Button Save kemuudian ketikkan kode program berikut ini : Try If TextBox1.Text <> "" And TextBox2.Text <> _ "" And TextBox3.Text <> "" And TextBox4.Text <> "" Then If Button1.Text = "SAVE" Then cmd = New MySqlCommand _ ("insert into pelanggan values('" & _ TextBox1.Text & "','" & TextBox2.Text & _ "','" & TextBox3.Text & "','" & _ TextBox4.Text & "')", con) Dim i As Integer = cmd.ExecuteNonQuery If i = 1 Then MessageBox.Show("Insert data succsess", _ "information", MessageBoxButtons.OK, _ MessageBoxIcon.Information) awal() Button3_Click(sender, e) End If Else cmd = New MySqlCommand _ ("update pelanggan set Nm_Plg='" & _ TextBox2.Text & "'," & "Almt_Plg='" & _ TextBox3.Text & "'," & "Telp_Plg='" & _ TextBox4.Text & "'" & "where Kd_Plg='" & _ TextBox1.Text & "'", con) Dim i As Integer = cmd.ExecuteNonQuery If i = 1 Then MessageBox.Show("Update data succsess", _ "information", MessageBoxButtons.OK, _ MessageBoxIcon.Information) awal() Button3_Click(sender, e) End If End If Else MessageBox.Show("Data belum lengkap", _ "Information", End If Catch ex As Exception MessageBox.Show(ex.Message, "Error", _ MessageBoxButtons.OK,
18

MessageBoxButtons.OK,

MessageBoxIcon.Information)

Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM

MessageBoxIcon.Error) End Try Kembali ke Design Form List Pelanggan Double Click Button Delete kemuudian ketikkan kode program berikut ini : Try If TextBox1.Text <> "" And TextBox2.Text <> _ "" And TextBox3.Text <> "" And TextBox4.Text <> "" Then If MessageBox.Show("Apakah anda ingin menghapus" & _ vbCrLf & " = data Pelanggan " & TextBox1.Text, Then WHERE _ cmd "Question", = New & _ MessageBoxButtons.YesNo, _ MessageBoxIcon.Question) _ Windows.Forms.DialogResult.Yes MySqlCommand _ ("DELETE FROM pelanggan Kd_Plg='" TextBox1.Text & "'", con) Dim x As Integer = cmd.ExecuteNonQuery If x = 1 Then MessageBox.Show("DATA "Information", TextBox2.Focus() Else MessageBox.Show("GAGAL "Information", End If End If Else MessageBox.Show("Data belum lengkap", _ "Information", MessageBoxButtons.OK, _ MessageBoxIcon.Information) End If Button3_Click(sender, e) TextBox2.Focus() Catch ex As Exception MessageBox.Show(ex.Message) End Try MessageBoxIcon.Information) HAPUS DATA", _ _ MessageBoxButtons.OK, BERHASIL DIHAPUS", _ _ MessageBoxButtons.OK,

MessageBoxIcon.Information) Button3_Click(sender, e)

Kembali ke Design Form List Pelanggan Double Click Button Refresh kemuudian ketikkan kode program berikut ini :
19

Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM

Button1.Text = "SAVE" TextBox1.Text = "" TextBox2.Text = "" TextBox3.Text = "" TextBox4.Text = "" TextBox5.Text = "" awal() Kembali ke Design Form List Pelanggan Double Click Button Exit kemuudian ketikkan kode program berikut ini : Me.Dispose()

Setelah selesai melakukan hal yang di perintahkan di atas setelah itu anda coba jalankan program yang sudah anda buat caranya tekan tombol F5 di keyboard Tambahkan sebuah form dengan nama Data Barang lalu design seperti gambar dibawah ini :

Gambar Form PopUp Data Barang

Form/Control Form

Propeties Name Size StartPosition

Setting Data_Barang 888; 471 CenterSecreen lblNama Nama txtCriNama ListDataBarang

Label 1

Name Text

TextBox1 Listview1

Name Name Colums :

20

Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM

Members Columnheader1 Columnheader2 Columnheader3 Columnheader4 Columnheader5

Properties Text = Kode Text =Nama Barang Text = Harga Satuan Text = Stock Text = Satuan

FullRowSelect Gridlines View

True True Details

Setelah Design Form selesai ketikkan kode program berikut ini :

Diatas Public Class ketikkan kode berikut ini Imports MySql.Data.MySqlClient

Didalam Public Class ketikkan kode berikut ini Public kdbrg, nmbrg, satuan, harga, stock As String Dim cmd As MySqlCommand Dim Reader As MySqlDataReader Dim con As New MySqlConnection(Conn) Private Sub IsiListView() Try cmd = New MySqlCommand _ ("select * from barang order by Kd_Brg Asc", con) ListBarang() tutup() Catch ex As Exception
21

Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM

MessageBox.Show(ex.Message) End Try End Sub Private Sub Data_Barang_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load con.Open() IsiListView() End Sub

Private Sub ListDataBarang_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles ListDataBarang.Click Try

kdbrg = ListDataBarang.FocusedItem.SubItems.Item(0).Text nmbrg = ListDataBarang.FocusedItem.SubItems.Item(1).Text harga = ListDataBarang.FocusedItem.SubItems.Item(2).Text stock = ListDataBarang.FocusedItem.SubItems.Item(3).Text satuan = ListDataBarang.FocusedItem.SubItems.Item(4).Text Me.Dispose() Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub

Private Sub tutup() cmd.Dispose()

22

Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM

Reader.Close() End Sub

Private Sub txtCriNama_TextChanged(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles txtCriNama.TextChanged Try cmd = New MySqlCommand("SELECT * FROM barang WHERE " & _ " Nm_Brg LIKE '%" & Trim(txtCriNama.Text) & _ "%' ORDER BY Kd_Brg ASC", con) ListBarang() tutup() Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub Private Sub ListBarang() Reader = cmd.ExecuteReader ListDataBarang.Items.Clear() While Reader.Read Dim list As New ListViewItem list.ImageIndex = 0 list.Text = Reader.Item(0) list.SubItems.Add(Reader.Item(1)) list.SubItems.Add(Format(CDbl(Reader.Item(2)), _ "###,###,###,###")) list.SubItems.Add(Reader.Item(3))

23

Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM

list.SubItems.Add(Reader.Item(4)) ListDataBarang.Items.AddRange(New ListViewItem() {list}) End While End Sub

Gambar Form PopUp Data Pelanggan Form/Control Form Propeties Name Size StartPosition Label 1 Name Text TextBox1 Listview1 Name Name Colums : Members Columnheader1 Columnheader2 Columnheader3 Columnheader4 Properties Text = Kode Text =Nama Pelanggan Text = Alamat Pelanggan Text = Telepon Setting Data_Pelanggan 888; 471 CenterSecreen lblNama Nama txtNama ListDataPelanggan

FullRowSelect Gridlines

True True
24

Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM

View

Details

Diatas Public Class ketikkan kode berikut ini Imports MySql.Data.MySqlClient

Didalam Public Class ketikkan kode berikut ini Public kdplg, nmplg, almtplg, telp As String Dim cmd As MySqlCommand Dim Reader As MySqlDataReader Dim con As New MySqlConnection(Conn) Private Sub IsiListView() Try cmd = New MySqlCommand("select * from " & _ "pelanggan order by Kd_Plg Asc", con) listPelanggan() tutup() Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub Private Sub tutup() cmd.Dispose() Reader.Close() End Sub Private Sub Data_Pelanggan_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load

25

Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM

con.Open() IsiListView() End Sub

Private Sub ListDataPelanggan_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles ListDataPelanggan.Click Try kdplg = ListDataPelanggan.FocusedItem.SubItems.Item(0).Text nmplg = ListDataPelanggan.FocusedItem.SubItems.Item(1).Text almtplg = ListDataPelanggan.FocusedItem.SubItems.Item(2).Text telp = ListDataPelanggan.FocusedItem.SubItems.Item(3).Text Me.Dispose() Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub

Private Sub txtNama_TextChanged(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles txtNama.TextChanged Try cmd = New MySqlCommand _ ("SELECT * FROM pelanggan WHERE " & _ " Nm_Plg LIKE '%" & Trim(txtNama.Text) & _ "%' ORDER BY Kd_Plg ASC", con) listPelanggan() tutup()

26

Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM

Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub Private Sub listPelanggan() Reader = cmd.ExecuteReader ListDataPelanggan.Items.Clear() While Reader.Read Dim list As New ListViewItem list.ImageIndex = 0 list.Text = Reader.Item(0) list.SubItems.Add(Reader.Item(1)) list.SubItems.Add(Reader.Item(2)) list.SubItems.Add(Reader.Item(3)) ListDataPelanggan.Items.AddRange(New ListViewItem() {list}) End While End Sub

Tambahkan sebuah form dengan nama EntryNota lalu design seperti gambar dibawah ini :

27

Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM

Gambar Form Penjualan

Form/Control Form

Propeties Name Size StartPosition

Setting EntryNota 888; 471 CenterSecreen lblNoNota Kode Barang lblTglNota Tanggal Nota lblKdPlg Kode lblNmPlg Nama lblAlmtPlg Alamat lblTelp Telepon lblKdBrg Kode
28

Label 1

Name Text

Label 2

Name Text

Label 3

Name Text

Label 4

Name Text

Label 5

Name Text

Label 6

Name Text

Label 7

Name Text

Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM

Label 8

Name Text

lblNmBrg Nama lblSatuan Satuan lbHrg Harga

Label 9

Name Text

Label 10

Name Text

Label 11

Name Text

lblStock Stock lblJml Jumlah lblTotal Total GrbNota [ Entry Data Nota ] GrbPlg Data Pelanggan txtNoNota txtKdPlg txtNmPlg txtAlmtPlg txtTelp txtKdBrg txtNmBrg txtSatuan txtHrg txtStock txtJml txtTotal dtNota GrbBrg
29

Label 12

Name Text

Label13

Name Text

GroupBox1

Name Text

GroupBox2

Name Text

TextBox1 TextBox2 TextBox3 TextBox4 TextBox5 TextBox6 TextBox7 TextBox8 TextBox9 TextBox10 TextBox11 TextBox12

Name Name Name Name Name Name Name Name Name Name Name Name

DateTimePicker1 Name GroupBox3 Name

Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM

Text TextBox5 Listview1 Name Name Colums : Members Columnheader1 Columnheader2 Columnheader3 Columnheader4 Columnheader5 Columnheader6

Data Barang txtCari ListNota

Properties Text = Kode Text =Nama Barang Text = Satuan Text = Jumlah Text = Harga Satuan Text = Total

FullRowSelect Gridlines View Button 1 Name Text

True True Details btnSave_Edit SAVE

Button 2

Name Text

btnADD ADD btnCancel CANCEL btnExit Exit

Button 3

Name Text

Button 4

Name Text

Setelah Design Form selesai ketikkan kode program berikut ini :

Diatas Public Class ketikkan kode berikut ini


30

Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM

Imports MySql.Data.MySqlClient

Didalam Public Class ketikkan kode berikut ini Dim con As New MySqlConnection(Conn) Dim cmd, cmd1 As MySqlCommand Dim Reader As MySqlDataReader

Buat sub prosedur isi kode Private Sub IsiKode() Try 'Buat Auto Number Untuk Kode Dim strTemp As String = "" Dim strValue As String = "" Dim sql As String sql = "SELECT * FROM " & _ "nota ORDER BY No_Nota DESC" cmd = New MySqlCommand(sql, con) Reader = cmd.ExecuteReader If Reader.Read Then strTemp = Mid(Reader.Item("No_Nota") _ , 4, 3) Else txtNoNota.Text = "N" & _ Now.ToString("yy") & "001" tutup() Exit Sub

31

Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM

End If strValue = Val(strTemp) + 1 txtNoNota.Text = "N" & Now.ToString("yy") & _ Mid("000", 1, 3 - strValue.Length) & strValue tutup() Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub

Buat event EntryNota_Load Private Sub EntryNota_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load con.Open() IsiKode() End Sub

Kembali ke Design Form EntryNota Double Click btnCariPlg lalu ketikkan program berikut ini Try Dim pelanggan As New Data_Pelanggan pelanggan.ShowDialog() txtKdPlg.Text = pelanggan.kdplg txtNmPlg.Text = pelanggan.nmplg txtAlmtPlg.Text = pelanggan.almtplg txtTelp.Text = pelanggan.telp txtKdBrg.Focus()

32

Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM

Catch ex As Exception MessageBox.Show(ex.Message) End Try

Kembali ke Design Form EntryNota Double Click btnCariBrg lalu ketikkan program berikut ini Try Dim barang As New Data_Barang barang.ShowDialog() txtKdBrg.Text = barang.kdbrg txtNmBrg.Text = barang.nmbrg txtSatuan.Text = barang.satuan txtHrg.Text = barang.harga txtStock.Text = barang.stock txtJml.Focus() Catch ex As Exception MessageBox.Show(ex.Message) End Try

Kembali ke Design Form EntryNota Double Click btnADD lalu ketikkan program berikut ini Try Dim i As Integer If txtKdBrg.Text <> "" And txtJml.Text <> "" _ And txtTotal.Text <> "" Then If ListNota.Items.Count <> 0 Then For i = 0 To ListNota.Items.Count - 1

33

Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM

If ListNota.Items(i).SubItems(0).Text = _ txtKdBrg.Text Then MessageBox.Show("Data barang sudah ada", _ "Information", MessageBoxButtons.OK, _ MessageBoxIcon.Information) bersih() Exit Sub End If Next End If Dim list As New ListViewItem list.Text = txtKdBrg.Text list.SubItems.Add(txtNmBrg.Text) list.SubItems.Add(txtSatuan.Text) list.SubItems.Add(txtJml.Text) list.SubItems.Add(txtHrg.Text) list.SubItems.Add(txtTotal.Text) ListNota.Items.AddRange(New ListViewItem() {list}) bersih() txtKdBrg.Focus() btnSave.Enabled = True Else MessageBox.Show("Data barang belum lengkap", _ "Erorr", MessageBoxButtons.OK, MessageBoxIcon.Error) txtJml.Focus() End If

34

Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM

Catch ex As Exception MessageBox.Show(ex.Message) End Try

Kembali ke Design Form EntryNota Double Click btnSave lalu ketikkan program berikut ini Try Dim i As Integer If txtKdPlg.Text <> "" Then cmd = New MySqlCommand _ ("insert into nota(No_Nota,Tgl_Nota,Kd_Plg)" & _ " values('" & txtNoNota.Text & "','" & _ Format(dtNota.Value, "yyyy-MM-dd") & "','" & _ txtKdPlg.Text & "')", con) Dim x As Integer = cmd.ExecuteNonQuery() tutup() For i = 0 To ListNota.Items.Count - 1 cmd = New MySqlCommand("insert into pesan values('" & _ txtNoNota.Text & "','" & _ ListNota.Items(i).SubItems(0).Text & "','" & _ ListNota.Items(i).SubItems(3).Text & "','" & _ Format(CDbl(ListNota.Items(i).SubItems(4).Text), _ "###.###.###.###") & "')", con) cmd.ExecuteNonQuery() cmd1 = New MySqlCommand("update barang set Stock=Stock-'" & _

35

Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM

ListNota.Items(i).SubItems(3).Text & "'" & _ "where Kd_Brg='" & _ ListNota.Items(i).SubItems(0).Text & "'", con) cmd1.ExecuteNonQuery() Next tutup() If x = 1 Then MessageBox.Show("Data berhasil disimpan", _ "Information", MessageBoxButtons.OK, _ MessageBoxIcon.Information) btnCancel.PerformClick() End If Else MessageBox.Show("Data Pelanggan Belum di isi", _ "Information", MessageBoxButtons.OK, _ MessageBoxIcon.Error) End If Catch ex As Exception MessageBox.Show(ex.Message) End Try

Kembali ke Design Form EntryNota Double Click btnCancel lalu ketikkan program berikut ini txtKdPlg.Text = "" txtNmPlg.Text = "" txtAlmtPlg.Text = ""

36

Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM

txtTelp.Text = "" bersih() ListNota.Items.Clear() btnADD.Enabled = False btnSave.Enabled = False

Kembali ke Design Form EntryNota Double Click btnExit lalu ketikkan program berikut ini Me.Dispose()

Buat sub prosedure txtJml_KeyPress seperti kode dibawah ini Private Sub txtJml_KeyPress(ByVal sender As Object, _ ByVal e As System.Windows.Forms.KeyPressEventArgs) _ Handles txtJml.KeyPress Try If Asc(e.KeyChar) = 8 Then Exit Sub End If If Not IsNumeric(e.KeyChar) Then e.Handled = True End If If Asc(e.KeyChar) = 13 Then If txtKdBrg.Text = "" Then MessageBox.Show("Data barang belum lengkap", _ "Information", MessageBoxButtons.OK, _ MessageBoxIcon.Information) Exit Sub
37

Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM

End If If txtJml.Text = "" Then MessageBox.Show("Jumlah Barang harus diisi", _ "Information", MessageBoxButtons.OK, _ MessageBoxIcon.Information) Exit Sub End If Dim jml As Double Dim stock, Jumlah As Integer stock = txtStock.Text Jumlah = txtJml.Text If stock < Jumlah Then MessageBox.Show("Stock tidak cukup", _ "Information", MessageBoxButtons.OK, _ MessageBoxIcon.Information) txtJml.Focus() Else jml = Val(txtHrg.Text * txtJml.Text) txtTotal.Text = Format(CDbl(jml), _ "###,###,###,###") btnADD.Enabled = True btnADD.Focus() End If End If Catch ex As Exception MessageBox.Show(ex.Message)

38

Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM

End Try End Sub

Buat sub procedure bersih seperti berikut ini Private Sub bersih() txtKdBrg.Text = "" txtNmBrg.Text = "" txtSatuan.Text = "" txtHrg.Text = "" txtJml.Text = "" txtTotal.Text = "" txtStock.Text = "" End Sub

39

Ecommerce II
Visual Basic .Net dengan Database MySql Mukidin, S. Kom, MM

40