Anda di halaman 1dari 10

Nama : Purbo Dwi Junianto

NIM / Kelas : 2203421016 / BM-2B

Praktikum Database
Tuesday, 16 May 2023

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.

Masukan kode:
pip3 install mysql-connector

di Terminal, bisa terminal VScode atau terminal. Dan akan terlihat seperti ini jika berhasil.

2. Koneksi ke Database
Buat file baru Bernama connect.py, lalu masukkan program berikut:

import mysql.connector

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

if db.is_connected():
  print("Berhasil terhubung ke database")

karena kita menggunakan XAMPP, maka ganti parameter dari Database nya sesuai defaultnya.

host="localhost",
  user="root",
  passwd=""

jadi, outputnya akan jadi seperti yang di print jika tidak ada error

3. Membuat Database
Buat File baru dengan nama created.py lalu masukan program:

import mysql.connector

db = mysql.connector.connect(
  host="localhost",
  user="root",
  passwd=""
)

cursor = db.cursor()
cursor.execute("CREATE DATABASE toko_mainan")

print("Database berhasil dibuat!")

Jika Outpunya sudah sesuai. Maka silahkan cek Databasenya di phpMyAdmin. Jika sudah ada,
maka bisa dilanjut Langkah selanjutnya, yaitu membuat table didalamnya.
4. Membuat Tabel
Langsung saja kita masukan Codenya :

import mysql.connector

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

cursor = db.cursor()
sql = """CREATE TABLE customers (
  customer_id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(255),
  address Varchar(255)
)
"""
cursor.execute(sql)

print("Tabel customers berhasil dibuat!")


di dalam parameter Database, ada tambahan “database”, itu agar mengarahkan dimana
tabelnya dipasang. Outputnya akan seperti ini. Lalu silahkan cek di database apakah sudah ada.

Beginilah penampakannya:

5. Insert Data
Buat File Insertone.py ,untuk menambahkan satu baris data

import mysql.connector

db = mysql.connector.connect(
  host="localhost",
   user="root",
  passwd="",
  database="toko_mainan"
)
cursor = db.cursor()
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = ("Dian", "Mataram")
cursor.execute(sql, val)

db.commit()

print("{} data ditambahkan".format(cursor.rowcount))


jika tidak ada error Maka Outpunya akan seperti yang di print,maka data sudah ditambahkan
silahkan cek di database.

Selanjutnya kita juga bisa menambah data secara jamaah, silahkan buat file baru bernama
insertmany.py , lalu isi dengan program :

import mysql.connector

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

cursor = db.cursor()
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
values = [
  ("Doni", "Jakarta"),
  ("Ella", "Surabaya"),
  ("Fani", "Bandung"),
  ("Galih", "Depok")
]

for val in values:


  cursor.execute(sql, val)
  db.commit()

print("{} data ditambahkan".format(len(values)))


Outputnya akan mengikuti jumlah data yang ditambahkan, silahkan cek di database:
6. Menampilkan Data
Kita dapat menampilkan data dari MySQL dengan query SELECT, dengan method:
fetchall() untuk ambil semua data;
fetachmany(10) untuk ambil 10 data;
fetchone() untuk mengambil satu data pertama saja.

OK, mari coba ambil satu. Buat File baru dengan nama Selectone.py ,lalu masukan program:

import mysql.connector

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

cursor = db.cursor()
sql = "SELECT * FROM customers"
cursor.execute(sql)

result = cursor.fetchone()

print(result)

Hasil:

Selanjutnya buat juga Selectmany.py , dan beginilah outputnya:


Terakhir, ayo buat Selectall.py , dan seperti inilah outputnya:

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:

import mysql.connector

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

cursor = db.cursor()
sql = "UPDATE customers SET name=%s, address=%s WHERE customer_id=%s"
val = ("Sasuke", "Konoha", 1)
cursor.execute(sql, val)

db.commit()

print("{} data diubah".format(cursor.rowcount))

disana, kita ubah pada kolom satu menjadi Bernama Sasuke dan beralamat Konoha. Outputnya:
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:

import mysql.connector

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

cursor = db.cursor()
sql = "DELETE FROM customers WHERE customer_id=%s"
val = (1, )
cursor.execute(sql, val)

db.commit()

print("{} data dihapus".format(cursor.rowcount))

Outputnya:

Bagian kiri untuk kolom, kanan untuk baris. Dengan program diatas maka Di databasenya
terpantau, kolom satu telah hilang.

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 menerapkan CRUDS.

Baiklah, 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="root",
  passwd="",
  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)
Output :

Anda mungkin juga menyukai