Assalamualaikum Wr. Wb
Untuk melanjukan tutorial sebelummnya Membuat Generate ID Varchar Dengan MySql Kali ini author bakal membuat GUI Interface nya juga. Jadi jangan cuman coding aja, kita juga harus bisa membuat tampilan yang nyaman untuk client. Oke, sekarang kita akan membuat Form Utama atau bisa disebut dengan Main Form.
FORM UTAMA
Main Form atau Form Utama adalah Form pertama yang muncul pertama kali saat aplikasi dijalankan, jadi kalau di game itu kayak main menu nya. Nah sekarang author bakal membagikan desain Form Utama dari aplikasi yang pernah author buat. Ini tampilannya :
Nah kurang lebih tampilan seperti itu, memang sangat sederhana sekali. Sekarang author bakal mengganti name dari setiap tools tersebut menjadi :
a. Daftar –> btn_daftar
b. Close –> btn_close
c. Cari Barang –> btn_caribarang
Ingat! , name dari attribut / tools itu berbeda dengan Text. Karena name digunakan untuk pemanggilan setiap attribut dalam kode / script. Jadi untuk mengolah suatu attribut form kita haru menamai nya terlebih dahulu agar dapat dihapalkan lebih mudah. Dan cara mengganti name ada berada di properties setiap attribut Contoh , di button daftar seperti ini :
Lalu jangan lupa scriptnya pada form utama, author gunakan untuk navigasi ke form lain :
Private Sub MainForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim test As String = generateString()
MessageBox.Show(test + " OK") '<- ini bisa dihapus biar ga ganggu'
End Sub
Private Sub btn_close_click(sender As Object, e As EventArgs) Handles btn_close.Click
Me.Close() 'untuk menutup aplikasi'
End Sub
Private Sub btn_daftar_click(sender As Object, e As EventArgs) Handles btn_daftar.Click
'untuk berpindah ke Form Pendaftaran'
DaftarForm.Show()
Me.Hide()
End Sub
Private Sub btn_belanja_Click(sender As Object, e As EventArgs) Handles btn_caribarang.Click
'BelanjaForm.Show()'
Me.Hide()
End Sub
FORM PENDAFTARAN
Sekarang saatnya kita membuat form pendaftaran , Form pendaftaran digunakan User untuk mendaftar ke aplikasi Olshop kita agar dia bisa berbelanja., Kisarannya seperti ini tampilannya :
Untuk nama dari setiap Textbox dan Button nya bakal author jelasin, Textbox itu adalah Inputan dari user yang berupa varchar , berikut adalah name dari setiap attribut :
a. Textbox Username –> txt_username
b. Texbox Password –> txt_password
c. Texbox Nama Depan –> txt_nama_depan
d. Textbox Nama Belakang –> txt_nama_belakang
e. Textbox Alamat –> txt_alamat
f. Textbox Email –> txt_email
g. Textbox No HP –> txt_no_hp
h. Textbox Ulang Password –> txt_re_password
i. Button Daftar –> btn_daftar
j. Button Login –> btn_login
k. Button Browse –> btn_browse
Nah, kalau sudah jelas setiap detail Sekarang langsung ke Scriptnya :
Imports MySql.Data 'jangan lupa import mysql datanya'
Public Class DaftarForm
'inisiasi variable'
Dim conn As New MySqlClient.MySqlConnection
Dim rd As MySqlClient.MySqlDataReader
Dim fcn As New FunctionClass
Private Sub DaftarForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'salah satu penggunaan generateString yang sudah kita buat'
conn.ConnectionString = generateString()
conn.Open() 'koneksi buka'
End Sub
Private Sub DaftarForm_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
conn.Close() 'koneksi tutup'
End Sub
Private Sub btn_daftar_Click(sender As Object, e As EventArgs) Handles btn_daftar.Click
If Me.txt_re_password.Text = Me.txt_password.Text Then
'ini untuk mengambil data gambar dari PictureBox'
Dim mstream As New System.IO.MemoryStream
PictureBox1.Image.Save(mstream, Imaging.ImageFormat.Png)
Dim arr_image = mstream.GetBuffer
'query sql'
Dim sql As String = "INSERT INTO tbl_user(id_user,nama_depan,nama_belakang,alamat,email,no_hp,picture,is_accept) VALUES (@v1,@v2,@v3,@v4,@v5,@v6,@v7,@V8)"
'salah satu penggunaan generateID yang sudah kita buat'
Dim id_user As String = fcn.generateID("User", "SELECT * FROM tbl_user ORDER BY id_user DESC", conn)
'input ke tbl_user'
Using cmnd As New MySqlClient.MySqlCommand(sql, conn)
cmnd.Parameters.AddWithValue("@v1", id_user)
cmnd.Parameters.AddWithValue("@v2", Me.txt_nama_depan.Text)
cmnd.Parameters.AddWithValue("@v3", Me.txt_nama_belakang.Text)
cmnd.Parameters.AddWithValue("@v4", Me.txt_alamat.Text)
cmnd.Parameters.AddWithValue("@v5", Me.txt_email.Text)
cmnd.Parameters.AddWithValue("@v6", Me.txt_no_hp.Text)
cmnd.Parameters.AddWithValue("@v7", arr_image)
cmnd.Parameters.AddWithValue("@v8", 0)
'mengecek apakah data sudah benar'
If MessageBox.Show("Apakah Data Diri Sudah Benar", "Benar", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
'serta insert ke tbl_login untuk keperluan login nanti'
Dim sql1 As String = "INSERT INTO tbl_login(username,id_user,password,status) VALUES (@v1,@v2,@v3,@v4)"
Using cmnd1 As New MySqlClient.MySqlCommand(sql1, conn)
cmnd1.Parameters.AddWithValue("@v1", Me.txt_username.Text)
cmnd1.Parameters.AddWithValue("@v2", id_user)
cmnd1.Parameters.AddWithValue("@v3", Me.txt_password.Text)
cmnd1.Parameters.AddWithValue("@v4", "User")
cmnd1.ExecuteNonQuery()
End Using
cmnd.ExecuteNonQuery()
MessageBox.Show("Selamat Anda Berhasil Terdaftar")
End If
End Using
Else
MessageBox.Show("Maaf, Password Tidak Cocok")
End If
End Sub
Private Sub btn_browse_Click(sender As Object, e As EventArgs) Handles btn_browse.Click
If OpenFileDialog1.ShowDialog = DialogResult.OK Then
PictureBox1.Image = Image.FromFile(OpenFileDialog1.FileName)
End If
End Sub
Private Sub btn_login_Click(sender As Object, e As EventArgs) Handles btn_login.Click
LoginForm.Show() 'show form login'
Me.Close()
End Sub
End Class
Nah, disitu saya sudah jelaskan bagian – bagian penting dalam Script diatas melalui comment – comment yang tersedia. Bisa kalian pelajari lagi tentang alur kerja kode script diatas. Bagi yang belum tau atau masih kebingungan tentang kode program diatas bisa komentar di bawah ini. Atau bisa menghubungi saya lewat social media di samping.
Bagi yang kebingungan tentang menginput data gambar ke Mysql bisa lihat tutorial dibawah ini :
Input Gambar ke Database MySql dengan Visual Studio
Sekian tutorial dari saya, Akan berlanjut di tutorial berikutnya. Semoga bermanfaat.
Wassalamualaikum Wr. Wb
No comments: