MODUL V
MEMBERIKAN KONEKSI ANTARA APLIKASI DAN WEB SERVER
MENGGUNAKAN C# DAN MYSQL
I. Tujuan
1. Praktikan dapat mengintegrasikan aplikasi desktop C# dengan database web
MySQL.
2. Praktikan dapat mengembangkan keterampilan koneksi dan interaksi antara
aplikasi desktop dan database web.
II. Alat dan Bahan
1. Laptop/PC
2. Visual Studio
3. MySQL Connector
4. XAMPP
5. Web Browser
III. Teori Dasar
Pada dasarnya, integrasi aplikasi desktop C# dengan database web MySQL
melibatkan penggunaan teknologi dan protokol komunikasi yang memungkinkan
aplikasi desktop dan server database berinteraksi secara efisien. Integrasi
semacam ini memungkinkan aplikasi desktop untuk menyimpan, mengambil,
memperbarui, dan menghapus data dari database web MySQL, yang pada
gilirannya memungkinkan pengembangan aplikasi yang lebih dinamis dan
responsif. Berikut adalah beberapa hal terkait materi ini yang perlu untuk
dipahami:
1. Protokol Koneksi Database
Ketika sebuah aplikasi desktop C# perlu berkomunikasi dengan database
MySQL, aplikasi tersebut menggunakan protokol khusus, misalnya, TCP/IP,
untuk membuka koneksi dengan server database. Protokol ini memungkinkan
pertukaran data antara aplikasi desktop dan database MySQL yang berjalan
pada server web.
2. MySQL Connector/NET
MySQL Connector/NET adalah perpustakaan [Link] yang
memungkinkan aplikasi C# berkomunikasi dengan database MySQL. Dengan
menggunakan MySQL Connector/NET, aplikasi dapat membuat koneksi ke
server database, mengirimkan query SQL, dan mengelola hasilnya. Ini adalah
antarmuka yang memungkinkan integrasi yang mulus antara aplikasi desktop
C# dan database web MySQL.
3. Koneksi dan Pengaturan String Koneksi
Dalam pengembangan aplikasi desktop C# yang terhubung dengan
database MySQL, pengaturan koneksi string sangat penting. Pengaturan ini
mencakup informasi seperti nama server, nama pengguna, kata sandi, dan
nama database yang akan diakses. Koneksi string digunakan untuk membuka
koneksi ke database MySQL dan merupakan kunci utama dalam
mengintegrasikan aplikasi desktop dengan database web.
4. Interaksi dengan Database
Setelah koneksi terbuka, aplikasi desktop C# dapat mengirimkan query
SQL ke database MySQL untuk mengambil, memperbarui, menghapus, atau
menambahkan data. Aplikasi ini harus memahami bahasa SQL dan struktur
database MySQL untuk berinteraksi dengan data yang benar dan efisien.
5. Manajemen Koneksi dan Penanganan Kesalahan
Penting bagi aplikasi desktop C# untuk memahami praktik terbaik dalam
manajemen koneksi, termasuk membuka dan menutup koneksi dengan benar
agar sumber daya server tidak sia-sia. Selain itu, aplikasi harus memahami
bagaimana menangani kesalahan koneksi, seperti ketidaktersediaan server
atau kesalahan dalam eksekusi query SQL.
Dengan memahami konsep-konsep ini secara mendalam, praktikan akan
dapat mengembangkan aplikasi desktop C# yang efisien, aman, dan responsif
dengan kemampuan terhubung yang solid ke database web MySQL. Integrasi
yang baik antara aplikasi desktop dan server database merupakan langkah kunci
dalam membangun aplikasi modern yang membutuhkan pengolahan data yang
andal dan cepat.
IV. Langkah Kerja
1. Buka kembali project form login yang sudah dikerjakan pada tugas modul 4.
2. Pastikan sudah menginstal mysql connector untuk menghindari error yang
akan terjadi saat menghubungkan database dengan C#. Meskipun begitu,
secara default sebenarnya tidak perlu kecuali ada kendala error yang dialami.
3. Buat file baru pada Solution Explorer dengan nama “[Link]” dan ketikkan
program berikut untuk koneksi ke database.
using System;
using [Link];
using [Link];
using [Link];
using [Link];
using [Link];
namespace Csharp_Login_And_Register
{
/*
we need to download the mysql connector
* add the connector to our project
* ( watch the video to see how )
* create a connection now with mysql
* open xampp and start mysql & apache
* go to phpmyadmin and create the users database
*/
class DB
{
private MySqlConnection connection = new
MySqlConnection("server=localhost;port=3306;username=root;password=;
database=users_db");
// create a function to open the connection
public void openConnection()
{
if([Link] ==
[Link])
{
[Link]();
}
}
// create a function to close the connection
public void closeConnection()
{
if ([Link] ==
[Link])
{
[Link]();
}
}
// create a function to return the connection
public MySqlConnection getConnection()
{
return connection;
}
}
}
4. Kemudian double klik form login sebelumnya untuk memasukkan kode
program didalamnya, ketikkan kode berikut
public LoginForm()
{
InitializeComponent();
[Link] = false;
[Link] = new
Size([Link], 50);
}
5. Selanjutnya double klik button login dan masukkan program berikut untuk
memproses login yang dimasukkan user. Perlu diingat bahwa nama class dan
textbox pada praktikum ini disesuaikan dengan tugas yang dibuat, sehingga
tidak perlu mengubah tugas sebelumnya. Tapi cukup sesuaikan apa yang
ditambahkan.
private void buttonLogin_Click(object sender, EventArgs e)
{
DB db = new DB();
String username = [Link];
String password = [Link];
DataTable table = new DataTable();
MySqlDataAdapter adapter = new MySqlDataAdapter();
MySqlCommand command = new MySqlCommand("SELECT * FROM `users`
WHERE `username` = @usn and `password` = @pass",
[Link]());
[Link]("@usn", [Link]).Value =
username;
[Link]("@pass", [Link]).Value =
password;
[Link] = command;
[Link](table);
// check if the user exists or not
if ([Link] > 0)
{
[Link]();
MainForm mainform = new MainForm();
[Link]();
}
else
{
if([Link]().Equals(""))
{
[Link]("Enter Your Username To Login","Empty
Username",[Link],[Link]);
}
else if ([Link]().Equals(""))
{
[Link]("Enter Your Password To Login", "Empty
Password", [Link], [Link]);
}
else
{
[Link]("Wrong Username Or Password", "Wrong
Data", [Link], [Link]);
}
}
}
6. Kemudian save project yang dibuat dan jalankan dengan klik Start
V. Hasil Percobaan
1. Tampilan Mengisi Form Login
2. Tampilan Home
Tugas
Lanjutkan program yang dibuat diatas dengan menambahkan form register, dimana saat
belum punya akun bisa menggunakan link dibawah button login. Sehingga saat diklik
akan mengarah ke form register. Ketentuan dari form register sebagai berikut :
First name, last name, email, username, password, dan confirm password
Miliki Tujuan yang Jelas
Rencanakan Langkah Menuju Keberhasilan
Jadilah seperti pelaut yang memiliki tujuan pasti. Saat angin badai datang, dia tidak
kehilangan arah karena tujuannya jelas. Begitu pula dalam hidup, milikilah tujuan
yang jelas, dan rencanakan setiap langkahmu dengan bijaksana. Sebab, dalam setiap
rencana yang matang, terbentuklah jalan menuju keberhasilan.