
Membuat Aplikasi CRUD Sederhana di Python dengan MySQL
Membuat aplikasi CRUD (Create, Read, Update, Delete) sederhana menggunakan Python dan MySQL adalah langkah penting dalam memahami dasar-dasar pengelolaan data. Dengan kombinasi bahasa pemrograman Python dan database MySQL, kita dapat membuat sistem yang efisien untuk mengelola data pengguna atau entitas lainnya.
Persiapan Lingkungan Kerja
Sebelum memulai, pastikan Python dan MySQL sudah terinstal di komputer Anda. Jika belum, Anda bisa mengunduh Python dari https://www.python.org/downloads/ atau menggunakan Anaconda sebagai alternatif. Untuk MySQL, Anda bisa menggunakan XAMPP, LAMP, MAMP, atau Laragon untuk menjalankan server lokal.
Selanjutnya, instal library mysql-connector-python menggunakan pip:
pip install mysql-connector-python
Setelah itu, buat koneksi ke database MySQL dengan menentukan host, user, password, dan nama database. Contoh konfigurasi:
import mysql.connector
koneksi = mysql.connector.connect(
host="127.0.0.1",
user="root",
password="",
database="db_crud_python"
)
Jika koneksi berhasil, Anda akan melihat objek koneksi seperti <mysql.connector.connection.MySQLConnection object at 0x...> di terminal.
Membuat Tabel Database
Sebelum melakukan operasi CRUD, pastikan tabel yang dibutuhkan sudah ada. Contoh struktur tabel user:
CREATE TABLE user (
id INT NOT NULL AUTO_INCREMENT,
nama VARCHAR(100) NOT NULL,
email VARCHAR(100) NOT NULL,
no_hp VARCHAR(20) NOT NULL,
PRIMARY KEY (id)
)
Anda bisa membuat tabel ini menggunakan aplikasi seperti PhpMyAdmin atau perintah SQL langsung.
Menu Aplikasi
Buat menu utama untuk mengakses fitur CRUD. Contoh struktur menu:
lanjut = True
while lanjut:
print("CRUD User")
print("1. LIHAT USER")
print("2. TAMBAH USER")
print("3. UBAH USER")
print("4. HAPUS USER")
print("5. KELUAR")
p = int(input("PILIH MENU: "))
Operasi CRUD
1. Menampilkan Data (Read)
Untuk menampilkan semua data dari tabel user, gunakan query SELECT * FROM user. Hasilnya bisa ditampilkan dengan fetchall():
if p == 1:
mycursor.execute("SELECT * FROM user")
myresult = mycursor.fetchall()
for x in myresult:
print(x)
2. Menambahkan Data (Create)
Untuk menambahkan data, gunakan query INSERT INTO dengan parameter yang diberikan oleh pengguna:
elif p == 2:
nama = input("NAMA :")
email = input("EMAIL :")
no_hp = input("NO HP :")
sql = "INSERT INTO user (nama, email, no_hp) VALUES (%s, %s, %s)"
val = (nama, email, no_hp)
mycursor.execute(sql, val)
koneksi.commit()
print(mycursor.rowcount, "data user berhasil ditambah")
3. Mengubah Data (Update)
Untuk mengubah data, cari dulu data berdasarkan ID, lalu lakukan update:
elif p == 3:
id_user = input("ID USER :")
mycursor.execute(f"SELECT * FROM user WHERE id={id_user} LIMIT 1")
myresult = mycursor.fetchall()
if myresult:
nama = input(f"NAMA ({myresult[0][1]}): ") or myresult[0][1]
email = input(f"EMAIL ({myresult[0][2]}): ") or myresult[0][2]
no_hp = input(f"NO HP ({myresult[0][3]}): ") or myresult[0][3]
sql = "UPDATE user SET nama=%s, email=%s, no_hp=%s WHERE id=%s"
val = (nama, email, no_hp, id_user)
mycursor.execute(sql, val)
koneksi.commit()
print("Data berhasil diubah")
4. Menghapus Data (Delete)
Untuk menghapus data, cari data berdasarkan ID, lalu jalankan query DELETE:
elif p == 4:
id_user = input("ID USER :")
mycursor.execute(f"SELECT * FROM user WHERE id={id_user} LIMIT 1")
myresult = mycursor.fetchall()
if myresult:
print("MENGHAPUS DATA:", myresult[0])
sql = f"DELETE FROM user WHERE id={id_user}"
mycursor.execute(sql)
koneksi.commit()
print("Data berhasil dihapus")
5. Keluar dari Aplikasi
Gunakan pernyataan break atau ubah variabel lanjut menjadi False untuk keluar dari loop:
elif p == 5:
lanjut = False
Penutup
Dengan mengikuti langkah-langkah di atas, Anda telah berhasil membuat aplikasi CRUD sederhana di Python menggunakan MySQL. Aplikasi ini memberikan fondasi yang kuat untuk memahami bagaimana mengelola data dalam lingkungan basis data. Selain itu, Anda juga belajar cara menghubungkan Python dengan MySQL menggunakan library mysql-connector-python.
Aplikasi ini bisa dikembangkan lebih lanjut dengan menambahkan fitur seperti pencarian (Search), validasi input, atau antarmuka grafis (GUI). Dengan latihan terus-menerus, Anda akan semakin mahir dalam mengembangkan sistem berbasis database.
