Anda di halaman 1dari 16

MODUL 8

MySQL

1.1. Tujuan Praktikum:


Adapun Tujuan pada pratikum modul 8 yaitu:
1. Mampu memahami dan mengetahui MySQL pada Python.
2. Dapat membuat,menghapus,menambahkan,melihat database maupun table pada
MySQL menggunakan Python.
1.2. Alat dan Bahan Praktikum
1. Laptop
2. Mouse
3. Software Visual Studio Code
4. Python
1.3. Dasar Teori
1. Python

Python adalah sebuah bahasa pemrograman yang digunakan untuk


membuat aplikasi, perintah komputer, dan melakukan analisis data. Sebagai
general-purpose language, Python bisa digunakan untuk membuat program apa saja
dan menyelesaikan berbagai permasalahan. Selain itu, Python juga dinilai mudah
untuk dipelajari. Namun, jangan salah, Python termasuk bahasa pemrograman
tingkat tinggi. Mulai dari profesi back-end developer, IT, sampai data scientist,
Python benar-benar menjadi pilihan favorit.
2. Visual Studio Code

Visual Studio Code (VS Code) merupakan sebuah teks editor ringan dan
handal dibuat oleh Microsoft untuk sistem operasi multiplatform, yang artinya
aplikasi VSCode dapat digunakan di sistem operasi Linux, Mac dan Windows.
Visual Studio Code (VS Code) bersifat open source. Hal ini juga yang membuat
VSCode menjadi favorit para pengembang(developer) aplikasi, karena mereka
dapat ikut serta dalam proses pengembangan Visual Studio Code (VS Code).

3. Mysql

MySQL adalah sebuah database management system (manajemen basis


data) menggunakan perintah dasar SQL (Structured Query Language) yang cukup
terkenal. Database management system (DBMS) MySQL multi pengguna dan
multi alur ini sudah dipakai lebih dari 6 juta pengguna di seluruh dunia.
MySQL adalah DBMS yang open source dengan dua bentuk lisensi, yaitu Free
Software (perangkat lunak bebas) dan Shareware (perangkat lunak berpemilik
yang penggunaannya terbatas).
4. Xampp

XAMPP adalah perangkat lunak bebas, yang mendukung banyak sistem


operasi, merupakan kompilasi dari beberapa program. Fungsinya adalah sebagai
server yang berdiri sendiri, yang terdiri atas program Apache HTTP Server,
MySQL database, dan penerjemah bahasa yang ditulis dengan bahasa
pemrograman PHP dan Perl.

1.4.Langkah – Langkah Praktikum


1. Instalasi Modul MySQL Connector
Sebelum kita dapat menghubunkan Python dengan MySQL, kita membutuhkan
sebuah modul.
Modul ini berisi fungsi-fungsi dan class untuk mengakses MySQL.
Silahkan ketik peritah berikut untuk menginstal modul mysql untuk Python.

2. Percobaan Koneksi ke MySQL


Baiklah, silahkan buat file baru bernama connect.py. Kemudian isi dengan
kode berikut.

3. Membuat Database
Kita sudah berhasil membuat objek db yang akan bertugas sebagai konektor ke
MySQL.
Selain objek db, kita membutuhkan satu lagi objek yaitu cursor untuk
mengeksekusi perintah SQL atau query. Objek ini berada di dalam objek db.
Sehingga untuk membuat objek cursor kita tinggal buat seperti ini:

Lalu untuk mengeksekusi query, tinggal panggil method execute() dengan


parameter string query.

Baiklah, silahkan buat file baru bernama create_db.py. Kemudian isi dengan kode
berikut:

Database berhasil dibuat.


Untuk mengecek, coba saja buka Phpmyadmin atau aplikasi MySQL Client
lainnya.
4. Membuat Tabel
Cara membuat tabel sama seperti cara membuat database. Kita tinggal masukan
perintah SQL atau query ke dalam method execute().

Namun sebelum itu, pastikan kontektor sudah diberikan parameter database untuk
menentukan database mana yang akan digunakan.

Pada kode di atas kita memberikan parameter database="toko_mainan". Artinya


kita akan mengugnakan database toko_mainan yang baru saja dibuat.
Baik, kalau begitu…
Mari kita lihat dalam program.
Silahkan buat file baru bernama create_table.py, kemudian isi dengan kode
berikut.
Pada Phpmyadmin, akan terlihat seperti ini:

Artinya kita sudah berhasil membuat tabel.


5. Insert Data
Setelah membuat tabel, berikutnya kita akan mencoba menambahkan data ke
tabel.
Caranya sama, kita tinggal lakukan melalui perintah SQL atau query.
Biaklah, silahkan buat file baru bernama insert_one.py kemudian isi dengan kode
berikut:

…maka hasilnya:

Sekarang coba perhatikan kode yang kita gunakan untuk insert data:

Pada kode tersebut kita menggunakan %s sebagai placeholder untuk value atau
data yang akan kita tambahkan.
Mengapa tidak menggunakan seperti ini saja:

Bisa saja seperti itu.


Tapi..
Ini kurang aman, karena bisa terkena SQL injection dan juga kurang rapi.
Terakhir kita harus lakukan db.commit() untuk menyimpan data. Method ini
biasanya dipanggil saat insert data, update data, dan hapus data.
Lalu, bagaimana cara menambahkan beberapa data sekaligus?
Kita bisa lakukan dengan perulangan.
Contoh: insert_many.py
Hasilnya :

6. Menampilkan Data
Kita dapat menampilkan data dari MySQL dengan query SELECT. Kemudian
kita ambil datanya dengan method:
fetchall() untuk ambil semua data;
fetachmany(10) untuk ambil 10 data;
fetchone() untuk mengambil satu data pertama saja.
Methode fetchall(), fetchmany(), dan fetchone() akan mengembalikan sebuah data
list yang berisi tuple.
Buatlah file baru bernama select.py kemudia isi dengan kode berikut:
Hasilnya:

Berikutnya kita akan coba mengambil satu data saja dengan method fetchone().
Buatlah file baru bernama select_one.py, kemudian isi dengan kode berikut:

Hasilnya:

Nah untuk method fetchmany() kamu bisa coba sendiri, caranya sama seperti
fetchall().
7. Update Data
Berikutnya kita akan coba ubah data…
Caranya sama seperti insert data.
Bedanya, kalau update kita harus menggunakan query UPDATE.
Baiklah, silahkan buat file baru bernama update.py. Kemudian isi dengan kode
berikut:

Pada kode program di atas, kita memberikan nilai baru untuk data dengan
custemer_id=1.

Maka hasilnya:

Sebelum diUpdate
Setelah diUpdate

8. Hapus Data
Hapus data sama seperti update data. Kita harus menggunakan query DELETE
untuk menghapus dan WHERE untuk menentukan data yang akan dihapus.

Mari kita coba…


Buatlah file baru bernama delete.py, kemudian isi dengan kode berikut:

Pada kode di atas, saya akan menghapus data dengan custumer_id=1.


Maka hasilnya:

9. Aplikasi CRUDS berbasis CLI


CRUDS adalah operasi dasar yang harus dipahami pada pemrograman database.

CRUDS = Create, Read, Update, Delete, dan Search.


Kita sudah mencoba semuanya, kecuali Search.
Sekarang kita akan membuat aplikasi berbasis teks atau CLI yang akan
menerapkan CRUDS.

Biklah….
Silahkan buat file baru bernama app_cruds.py, kemudian isi dengan kode berikut:

import mysql.connector
import os

db = mysql.connector.connect(
host="localhost",
user="admin",
passwd="admin",
database="toko_mainan"
)

def insert_data(db):
name = input("Masukan nama: ")
address = input("Masukan alamat: ")
val = (name, address)
cursor = db.cursor()
sql = "INSERT INTO customers (name, address) VALUES (%s,
%s)"
cursor.execute(sql, val)
db.commit()
print("{} data berhasil disimpan".format(cursor.rowcount))

def show_data(db):
cursor = db.cursor()
sql = "SELECT * FROM customers"
cursor.execute(sql)
results = cursor.fetchall()

if cursor.rowcount < 0:
print("Tidak ada data")
else:
for data in results:
print(data)

def update_data(db):
cursor = db.cursor()
show_data(db)
customer_id = input("pilih id customer> ")
name = input("Nama baru: ")
address = input("Alamat baru: ")

sql = "UPDATE customers SET name=%s, address=%s WHERE


customer_id=%s"
val = (name, address, customer_id)
cursor.execute(sql, val)
db.commit()
print("{} data berhasil diubah".format(cursor.rowcount))

def delete_data(db):
cursor = db.cursor()
show_data(db)
customer_id = input("pilih id customer> ")
sql = "DELETE FROM customers WHERE customer_id=%s"
val = (customer_id,)
cursor.execute(sql, val)
db.commit()
print("{} data berhasil dihapus".format(cursor.rowcount))

def search_data(db):
cursor = db.cursor()
keyword = input("Kata kunci: ")
sql = "SELECT * FROM customers WHERE name LIKE %s OR
address LIKE %s"
val = ("%{}%".format(keyword), "%{}%".format(keyword))
cursor.execute(sql, val)
results = cursor.fetchall()

if cursor.rowcount < 0:
print("Tidak ada data")
else:
for data in results:
print(data)

def show_menu(db):
print("=== APLIKASI DATABASE PYTHON ===")
print("1. Insert Data")
print("2. Tampilkan Data")
print("3. Update Data")
print("4. Hapus Data")
print("5. Cari Data")
print("0. Keluar")
print("------------------")
menu = input("Pilih menu> ")

#clear screen
os.system("clear")

if menu == "1":
insert_data(db)
elif menu == "2":
show_data(db)
elif menu == "3":
update_data(db)
elif menu == "4":
delete_data(db)
elif menu == "5":
search_data(db)
elif menu == "0":
exit()
else:
print("Menu salah!")

if __name__ == "__main__":
while(True):
show_menu(db)

Hasilnya:

Anda mungkin juga menyukai