Modul10 DBMS
Modul10 DBMS
PRAKTIKUM
SISTEM MANAJEMEN BASIS DATA
A. TUJUAN
B. PETUNJUK
- Awali setiap praktikum dengan berdoa agar mendapatkan keberkahan dan kemudahan
dalam mengerjakan praktikum.
- Baca buku/panduan dengan seksama dan pahami tujuan dan dasar teori dengan baik.
- Kerjakan latihan-latihan dan tugas-tugas praktikum dengan baik, benar, sabar, teliti, dan
jujur.
- Tanyakan kepada asisten praktikum/dosen pengampu apabila ada hal dalam buku/panduan
yang kurang jelas.
C. DASAR TEORI
Silahkan membaca buku Pemrograman GUI: Python dan Database dari halaman 167.
Source Code :
import mysql.connector
koneksi = mysql.connector.connect(host = 'localhost',
user = 'root',
password = '')
kursorKu = koneksi.cursor()
kursorKu.execute("CREATE DATABASE databaseKU")
Penjelasan :
Agar bisa menjalankan perintah sql di python,langkah pertama yang harus dibuat adalah
melakukan koneksi ke mysql server, mysql connector digunakan sebagai penghubung
antara python dengan sql server.
import mysql.connector
from mysql.connector import Error
def lakukanKoneksi():
""" Koneksi Ke Server """
try:
koneksi = mysql.connector.connect(host = 'localhost',
user = 'root',
password = '')
if koneksi.is_connected():
kursorKu = koneksi.cursor()
kursorKu.execute("CREATE DATABASE databaseBuku")
print('database berhasil dibuat')
except Error as e:
print(e)
finally:
koneksi.close()
if __name__=="__main__":
lakukanKoneksi()
Penjelasan :
perintah sql create digunakan untuk membuat database atau table di dbms mysql.
import mysql.connector
from mysql.connector import Error
def lakukanKoneksi():
""" Koneksi Ke Server """
try:
koneksi = mysql.connector.connect(host = 'localhost',
user = 'root',
password = '')
if koneksi.is_connected():
kursorKu = koneksi.cursor()
kursorKu.execute("SHOW DATABASES")
for x in kursorKu:
print(x)
except Error as e:
print(e)
finally:
koneksi.close()
if __name__=="__main__":
lakukanKoneksi()
Penjelasan :
Perintah show database berfungsi untuk menampilkan database yang tersedia;
Source Code :
import mysql.connector
from mysql.connector import Error
def lakukanKoneksi():
""" Koneksi Ke Server """
try:
koneksi = mysql.connector.connect(host = 'localhost',
user = 'root',
password = '',
database = 'databaseBuku')
if koneksi.is_connected():
print('Database berhasil diakses')
except Error as e:
print(e)
finally:
koneksi.close()
if __name__=="__main__":
lakukanKoneksi()
Penjelasan :
menambahkan parameter database pada variable koneksi dan mengakses database yang
ingin diakses
import mysql.connector
from mysql.connector import Error
def lakukanKoneksi():
""" Koneksi ke server """
try:
koneksi = mysql.connector.connect(host='localhost',
user='root',
password='',
database='databaseBuku')
if koneksi.is_connected():
kursorKu = koneksi.cursor()
kursorKu.execute("CREATE TABLE konsumen (nama VARCHAR(255),alamat
VARCHAR(255))")
except Error as e:
print(e)
finally:
koneksi.close()
if __name__=='__main__':
lakukanKoneksi()
Source Code :
import mysql.connector
from mysql.connector import Error
def lakukanKoneksi():
""" Koneksi ke server """
try:
koneksi = mysql.connector.connect(host='localhost',
user='root',
password='',
database='databaseBuku')
if koneksi.is_connected():
kursorKu = koneksi.cursor()
kursorKu.execute("SHOW TABLES")
for x in kursorKu:
print(x)
except Error as e:
print(e)
finally:
koneksi.close()
if __name__=='__main__':
lakukanKoneksi()
Output :
Penjelasan :
Perintah Show tables digunakan untuk menampilkan table yang tersedia pada database
yang diakses.
Source Code :
import mysql.connector
from mysql.connector import Error
def lakukanKoneksi():
""" Koneksi ke server """
try:
koneksi = mysql.connector.connect(host='localhost',
user='root',
password='',
database='databaseBuku')
if koneksi.is_connected():
kursorKu = koneksi.cursor()
kursorKu.execute("ALTER TABLE Konsumen ADD COLUMN id INT
AUTO_INCREMENT PRIMARY KEY")
except Error as e:
print(e)
finally:
koneksi.close()
if __name__=='__main__':
lakukanKoneksi()
Penjelasan :
Field id diciptakan sebagai primary key atau data yang bersifat unik sebagai identitas
khusus pada tiap-tiap data, dan khusus pada field ini data tidak perlu diisikan secara
manual, dengan menggunakan perintah auto_increment field id akan ototmatis tertambah
setiap ada data yang masuk ke table.
import mysql.connector
from mysql.connector import Error
def lakukanKoneksi():
""" Koneksi ke server """
try:
koneksi = mysql.connector.connect(host='localhost',
user='root',
password='',
database='databaseBuku')
if koneksi.is_connected():
kursorKu = koneksi.cursor()
sql = "insert into konsumen (nama,alamat) values (%s,%s)"
val = ("John Kristof","Jalan Medan Pem. Siantar")
kursorKu.execute(sql,val)
koneksi.commit()
print(kursorKu.rowcount,"Rekaman telah disisipkan")
except Error as e:
print(e)
finally:
koneksi.close()
if __name__=='__main__':
lakukanKoneksi()
Output :
Penjelasan :
Perintah insert digunakan untuk memasukkan rekaman ke dalam table, dan data yang
dimasukkan harus memiliki beberapa parameter masukan yang sesuai dengan field id,
yaitu nama data,tipe data,dan Panjang data
Source Code :
import mysql.connector
from mysql.connector import Error
def lakukanKoneksi():
""" Koneksi ke server """
try:
koneksi = mysql.connector.connect(host='localhost',
user='root',
password='',
database='databaseBuku')
if koneksi.is_connected():
kursorKu = koneksi.cursor()
except Error as e:
print(e)
finally:
koneksi.close()
if __name__=='__main__':
lakukanKoneksi()
Output :
import mysql.connector
from mysql.connector import Error
def lakukanKoneksi():
""" Koneksi ke server """
try:
koneksi = mysql.connector.connect(host='localhost',
user='root',
password='',
database='databaseBuku')
if koneksi.is_connected():
kursorKu = koneksi.cursor()
except Error as e:
print(e)
finally:
koneksi.close()
if __name__=='__main__':
lakukanKoneksi()
Output :
Penjelasan :
Perintah select digunakan untuk menampilkan data pada table database yang dituju.
def lakukanKoneksi():
""" Koneksi ke server """
try:
koneksi = mysql.connector.connect(host='localhost',
user='root',
password='',
database='databaseBuku')
if koneksi.is_connected():
kursorKu = koneksi.cursor()
kursorKu.execute("select * from konsumen")
hasilku = kursorKu.fetchone()
for x in hasilku:
print(x)
except Error as e:
print(e)
finally:
koneksi.close()
if __name__=='__main__':
lakukanKoneksi()
Source Code :
import mysql.connector
from mysql.connector import Error
def lakukanKoneksi():
""" Koneksi ke server """
try:
koneksi = mysql.connector.connect(host='localhost',
user='root',
password='',
database='databaseBuku')
if koneksi.is_connected():
kursorKu = koneksi.cursor()
kursorKu.execute("select * from konsumen where alamat = 'medan
4'")
hasilku = kursorKu.fetchall()
for x in hasilku:
print(x)
except Error as e:
print(e)
finally:
koneksi.close()
if __name__=='__main__':
lakukanKoneksi()
Output :
Penjelasan :
Dengan menambahkan klausa where pada perintah select membuat data yang ingin
ditampilkan menjadi lebih spesifik.
Source Code :
import mysql.connector
from mysql.connector import Error
def lakukanKoneksi():
""" Koneksi ke server """
try:
koneksi = mysql.connector.connect(host='localhost',
user='root',
password='',
database='databaseBuku')
if koneksi.is_connected():
kursorKu = koneksi.cursor()
kursorKu.execute("select * from konsumen where alamat like '%al%'
")
hasilku = kursorKu.fetchall()
for x in hasilku:
print(x)
except Error as e:
print(e)
finally:
koneksi.close()
if __name__=='__main__':
lakukanKoneksi()
()
Output :
Source Code :
import mysql.connector
from mysql.connector import Error
def lakukanKoneksi():
""" Koneksi ke server """
try:
koneksi = mysql.connector.connect(host='localhost',
user='root',
password='',
database='databaseBuku')
if koneksi.is_connected():
kursorKu = koneksi.cursor()
kursorKu.execute("select * from konsumen order by nama")
hasilku = kursorKu.fetchall()
for x in hasilku:
print(x)
except Error as e:
print(e)
finally:
koneksi.close()
if __name__=='__main__':
lakukanKoneksi()
Output :
Penjelasan :
Perintah order by berfungsi untuk mengurutkan data yang secara default diurutkan secara
Source Code :
import mysql.connector
from mysql.connector import Error
def lakukanKoneksi():
""" Koneksi ke server """
try:
koneksi = mysql.connector.connect(host='localhost',
user='root',
password='',
database='databaseBuku')
if koneksi.is_connected():
kursorKu = koneksi.cursor()
kursorKu.execute("select * from konsumen order by nama desc")
hasilku = kursorKu.fetchall()
for x in hasilku:
print(x)
except Error as e:
print(e)
finally:
koneksi.close()
if __name__=='__main__':
lakukanKoneksi()
Output :
Source Code :
import mysql.connector
from mysql.connector import Error
def lakukanKoneksi():
""" Koneksi ke server """
try:
koneksi = mysql.connector.connect(host='localhost',
user='root',
password='',
database='databaseBuku')
if koneksi.is_connected():
kursorKu = koneksi.cursor()
sql = "delete from konsumen where alamat = 'Medan 4' "
kursorKu.execute(sql)
koneksi.commit()
print(kursorKu.rowcount, "rekaman telah dihapus")
except Error as e:
print(e)
finally:
koneksi.close()
if __name__=='__main__':
lakukanKoneksi()
Output :
Source Code :
import mysql.connector
from mysql.connector import Error
def lakukanKoneksi():
""" Koneksi ke server """
try:
koneksi = mysql.connector.connect(host='localhost',
user='root',
password='',
database='databaseBuku')
if koneksi.is_connected():
kursorKu = koneksi.cursor()
sql = "delete from konsumen where alamat = 'Medan 4' "
almt = ("Siantar 652", )
kursorKu.execute(sql,almt)
koneksi.commit()
print(kursorKu.rowcount, "rekaman telah dihapus")
except Error as e:
print(e)
finally:
koneksi.close()
if __name__=='__main__':
lakukanKoneksi()
Output :
Source Code :
import mysql.connector
from mysql.connector import Error
def lakukanKoneksi():
""" Koneksi ke server """
try:
koneksi = mysql.connector.connect(host='localhost',
user='root',
password='',
database='databaseBuku')
if koneksi.is_connected():
kursorKu = koneksi.cursor()
sql = "drop table if exists konsumen"
kursorKu.execute(sql)
print("Table telah dihapus")
except Error as e:
print(e)
finally:
koneksi.close()
if __name__=='__main__':
lakukanKoneksi()
Output :
Penjelasan :
Source Code :
import mysql.connector
from mysql.connector import Error
def lakukanKoneksi():
""" Koneksi ke server """
try:
koneksi = mysql.connector.connect(host='localhost',
user='root',
password='',
database='databaseBuku')
if koneksi.is_connected():
kursorKu = koneksi.cursor()
sql = "update konsumen set alamat = 'Balige123' where alamat =
'Balige 345' "
kursorKu.execute(sql)
koneksi.commit()
print(kursorKu.rowcount, "Rekaman diperbarui")
except Error as e:
print(e)
finally:
koneksi.close()
if __name__=='__main__':
lakukanKoneksi()
Output ;
import mysql.connector
from mysql.connector import Error
def lakukanKoneksi():
""" Koneksi ke server """
try:
koneksi = mysql.connector.connect(host='localhost',
user='root',
password='',
database='databaseBuku')
if koneksi.is_connected():
kursorKu = koneksi.cursor()
sql = "select * from konsumen limit 5"
kursorKu.execute(sql)
hasilKu = kursorKu.fetchall()
for x in hasilKu:
print(x)
except Error as e:
print(e)
finally:
koneksi.close()
if __name__=='__main__':
lakukanKoneksi()
Output :
Source Code
import mysql.connector
from mysql.connector import Error
def lakukanKoneksi():
""" Koneksi ke server """
try:
koneksi = mysql.connector.connect(host='localhost',
user='root',
password='',
database='databaseBuku')
if koneksi.is_connected():
kursorKu = koneksi.cursor()
sql = "select * from konsumen limit 5"
kursorKu.execute(sql)
hasilKu = kursorKu.fetchall()
for x in hasilKu:
print(x)
except Error as e:
print(e)
finally:
koneksi.close()
if __name__=='__main__':
lakukanKoneksi()
Output :
Source Code :
import mysql.connector
from mysql.connector import Error
def lakukanKoneksi():
""" Koneksi Ke Server """
try:
koneksi = mysql.connector.connect(host = 'localhost',
user = 'root',
password = '',
database = 'databasebuku')
if koneksi.is_connected():
kursorKu = koneksi.cursor()
kursorKu.execute("CREATE table produk (id varchar (255), nama
varchar(255))")
print('Table berhasil diciptakan')
except Error as e:
print(e)
finally:
koneksi.close()
if __name__=="__main__":
lakukanKoneksi()
Source Code :
import mysql.connector
from mysql.connector import Error
def lakukanKoneksi():
except Error as e:
print(e)
finally:
koneksi.close()
if __name__=='__main__':
lakukanKoneksi()
Output :
Source Code :
import mysql.connector
from mysql.connector import Error
def lakukanKoneksi():
""" Koneksi Ke Server """
try:
koneksi = mysql.connector.connect(host = 'localhost',
user = 'root',
password = '',
database = 'databasebuku')
if koneksi.is_connected():
kursorKu = koneksi.cursor()
kursorKu.execute("CREATE table konsumen (id int auto_increment
primary key,\
nama varchar(255),\
fav varchar(255))")
print('Table berhasil diciptakan')
except Error as e:
print(e)
finally:
koneksi.close()
if __name__=="__main__":
lakukanKoneksi()
Source Code :
import mysql.connector
from mysql.connector import Error
def lakukanKoneksi():
""" Koneksi ke server """
try:
koneksi = mysql.connector.connect(host='localhost',
user='root',
password='',
database='databaseBuku')
if koneksi.is_connected():
kursorKu = koneksi.cursor()
sql = "insert into konsumen (nama,fav) values (%s,%s)"
val = [('Petrus','25'),
('Aminah','32'),
('Hannah','24'),
('Mikael','25'),
('Sandi','45'),
('Beti','45'),
('Vivian','89'),
('Rico','89')]
kursorKu.executemany(sql,val)
koneksi.commit()
print(kursorKu.rowcount,"Rekaman telah disisipkan")
sql2 = "Select * from konsumen"
kursorKu.execute(sql2)
hasilKu = kursorKu.fetchall()
for x in hasilKu:
print(x)
except Error as e:
print(e)
finally:
koneksi.close()
if __name__=='__main__':
lakukanKoneksi()
Source Code :
import mysql.connector
from mysql.connector import Error
def lakukanKoneksi():
""" Koneksi Ke Server """
try:
koneksi = mysql.connector.connect(host = 'localhost',
user = 'root',
password = '',
database = 'databasebuku')
if koneksi.is_connected():
kursorKu = koneksi.cursor()
kursorKu.execute("CREATE table konsumen (id int auto_increment
primary key,\
nama varchar(255),\
fav varchar(255))")
print('Table berhasil diciptakan')
except Error as e:
print(e)
finally:
koneksi.close()
if __name__=="__main__":
lakukanKoneksi()
Source Code :
import mysql.connector
from mysql.connector import Error
def lakukanKoneksi():
""" Koneksi ke server """
try:
koneksi = mysql.connector.connect(host='localhost',
user='root',
password='',
database='databaseBuku')
if koneksi.is_connected():
kursorKu = koneksi.cursor()
sql = "insert into konsumen (nama,fav) values (%s,%s)"
val = [('Petrus','25'),
('Aminah','32'),
('Hannah','24'),
('Mikael','25'),
('Sandi','45'),
('Beti','45'),
('Vivian','89'),
('Rico','89')]
kursorKu.executemany(sql,val)
koneksi.commit()
print(kursorKu.rowcount,"Rekaman telah disisipkan")
sql2 = "Select * from konsumen"
kursorKu.execute(sql2)
hasilKu = kursorKu.fetchall()
for x in hasilKu:
print(x)
except Error as e:
print(e)
finally:
koneksi.close()
if __name__=='__main__':
lakukanKoneksi()
Output Code:
Source Code :
import mysql.connector
from mysql.connector import Error
def lakukanKoneksi():
""" Koneksi Ke Server """
try:
koneksi = mysql.connector.connect(host = 'localhost',
user = 'root',
password = '',
database = 'databasebuku')
if koneksi.is_connected():
kursorKu = koneksi.cursor()
sql = "select \
konsumen.nama as konsumen,\
produk.nama as favorit \
from konsumen \
inner join produk on konsumen.fav = produk.id"
kursorKu.execute(sql)
hasilKu = kursorKu.fetchall()
for x in hasilKu:
print(x)
except Error as e:
print(e)
finally:
koneksi.close()
if __name__=="__main__":
lakukanKoneksi()
Output :
Source Code :
import mysql.connector
from mysql.connector import Error
def lakukanKoneksi():
""" Koneksi Ke Server """
try:
koneksi = mysql.connector.connect(host = 'localhost',
user = 'root',
password = '',
database = 'databasebuku')
if koneksi.is_connected():
kursorKu = koneksi.cursor()
sql = "select \
konsumen.nama as konsumen,\
produk.nama as favorit \
from konsumen \
left join produk on konsumen.fav = produk.id"
kursorKu.execute(sql)
hasilKu = kursorKu.fetchall()
for x in hasilKu:
print(x)
except Error as e:
print(e)
finally:
koneksi.close()
if __name__=="__main__":
lakukanKoneksi()
Output :
Source Code :
import mysql.connector
from mysql.connector import Error
def lakukanKoneksi():
""" Koneksi Ke Server """
try:
koneksi = mysql.connector.connect(host = 'localhost',
user = 'root',
password = '',
database = 'databasebuku')
if koneksi.is_connected():
kursorKu = koneksi.cursor()
sql = "select \
konsumen.nama as konsumen,\
produk.nama as favorit \
from konsumen \
right join produk on konsumen.fav = produk.id"
kursorKu.execute(sql)
hasilKu = kursorKu.fetchall()
for x in hasilKu:
print(x)
except Error as e:
print(e)
finally:
koneksi.close()
if __name__=="__main__":
lakukanKoneksi()
Output :
Source Code :
import mysql.connector, sys
from PyQt5.QtWidgets import QDialog, QApplication
from mysql.connector import Error
from design import *
class formKu(QDialog):
def __init__(self):
super().__init__()
self.ui = Ui_Dialog()
self.ui.setupUi(self)
self.ui.pb_ciptakanDB.clicked.connect(self.buatDB)
self.show()
def buatDB(self):
try:
koneksi = mysql.connector.connect(host='localhost',
user='root',
password='')
if koneksi.is_connected():
kursorKu = koneksi.cursor()
kursorKu.execute("Create database "+self.ui.le_namaDB.text())
self.ui.label_tanggapan.setText("Database berhasil
diciptakan")
except Error as e:
self.ui.label_tanggapan.setText("error telah terjadi")
finally:
koneksi.close()
if __name__=="__main__":
app = QApplication(sys.argv)
w = formKu()
w.show()
sys.exit(app.exec_())
Tampilan Aplikasi :
Source Code :
import mysql.connector, sys
from PyQt5.QtWidgets import QDialog, QApplication
from mysql.connector import Error
from koneksi_database import *
class formKu(QDialog):
def __init__(self):
super().__init__()
self.ui = Ui_Dialog()
self.ui.setupUi(self)
self.ui.pb_ciptakanDB.clicked.connect(self.buatTB)
self.ui.buatTable.clicked.connect(self.buatTB)
self.show()
def buatTB(self):
try :
if koneksi.is_connected():
self.ui.label_tanggapan.setText("Database berhasil
dikoneksi")
kursor = koneksi.cursor()
kursor.execute(sql)
self.ui.label_tanggapan.setText("Table berhasil dibuat")
except Error as e:
self.ui.label_tanggapan.setText("Database gagal dikoneksi")
finally :
koneksi.close()
if __name__=="__main__":
app = QApplication(sys.argv)
w = formKu()
w.show()
sys.exit(app.exec_())
Tampilan Program :
NoBaris = 1
sql = "select email from ekomers, password from ekomers"
class formKu(QDialog):
def __init__(self):
super().__init__()
self.ui = Ui_Dialog()
self.ui.setupUi(self)
self.ui.pbPertama.clicked.connect(self.barisPertama)
self.ui.pbSebelumnya.clicked.connect(self.barisSebelumnya)
self.ui.pbSelanjutnya.clicked.connect(self.barisSelanjutnya)
#self.ui.pbBarisTerakhir.clicked.connect(self.barisTerakhir)
self.show()
def koneksi(self):
koneksi = mysql.connector.connect(host = 'localhost',
user = 'root',
password = '',
database = 'demo')
cur = koneksi.cursor()
return [cur,koneksi]
def barisPertama(self):
self.ui.labelTanggapan.setText("")
try:
cur,koneksi = self.koneksi()
cur.execute(sql)
baris = cur.fetchone()
self.ui.leEmail.setText(baris[0])
self.ui.lePassword.setText(baris[1])
except Error as e:
self.ui.labelTanggapan.setText("Error saat mengakses table")
finally :
koneksi.close()
def barisSebelumnya(self):
global NoBaris
NoBaris -= 1
sql = "select email, password from ekomers where id="+str(NoBaris)
try :
cur,koneksi = self.koneksi()
cur = koneksi.cursor()
cur.execute(sql)
baris = cur.fetchone()
if baris is not None:
self.ui.labelTanggapan.setText("")
self.ui.leEmail.setText(baris[0])
self.ui.lePassword.setText(baris[1])
else :
NoBaris += 1
self.ui.labelTanggapan.setText("Ini adalah baris pertama")
except Error as e:
self.ui.labelTanggapan.setText("error mengakses tabel")
finally :
koneksi.close()
def barisSelanjutnya(self):
global NoBaris
NoBaris += 1
sql = "select email, password from ekomers where id="+str(NoBaris)
try :
cur,koneksi = self.koneksi()
cur = koneksi.cursor()
cur.execute(sql)
baris = cur.fetchone()
if baris is not None:
self.ui.labelTanggapan.setText("")
self.ui.leEmail.setText(baris[0])
self.ui.lePassword.setText(baris[1])
else :
NoBaris -= 1
self.ui.labelTanggapan.setText("Ini adalah baris terakhir")
except Error as e:
self.ui.labelTanggapan.setText("error mengakses tabel")
finally :
koneksi.close()
def barisSebelumnya(self):
global NoBaris
NoBaris -= 1
sql = "select email, password from ekomers where id="+str(NoBaris)
try :
cur,koneksi = self.koneksi()
cur = koneksi.cursor()
cur.execute(sql)
baris = cur.fetchone()
if baris is not None:
self.ui.labelTanggapan.setText("")
self.ui.leEmail.setText(baris[0])
self.ui.lePassword.setText(baris[1])
else :
NoBaris += 1
self.ui.labelTanggapan.setText("Ini adalah baris pertama")
except Error as e:
self.ui.labelTanggapan.setText("error mengakses tabel")
finally :
koneksi.close()
def barisTerakhir(self):
try:
cur,koneksi = self.koneksi()
cur = koneksi.cursor()
cur.execute(sql)
self.ui.labelTanggapan.setText("")
except Error as e:
self.ui.labelTanggapan.setText("Error saat mengakses table")
finally :
koneksi.close()
if __name__=="__main__":
app = QApplication(sys.argv)
w = formKu()
w.show()
sys.exit(app.exec_())
class formKu(QDialog):
def __init__(self):
super().__init__()
self.ui = Ui_Dialog()
self.ui.setupUi(self)
self.ui.pbTampilBaris.clicked.connect(self.tampilBaris)
self.show()
def tampilBaris(self):
sql = "select * from " + self.ui.leNamaTB.text()
try :
koneksi = mysql.connector.connect(host = 'localhost',
user = 'root',
password = '',
database =
self.ui.lenNamaDB.text())
if koneksi.is_connected():
cur = koneksi.cursor()
cur.execute(sql)
baris = cur.fetchall()
noBaris = 0
for tuple in baris:
self.ui.labelTanggapan.setText("")
noKolom = 0
for kolom in tuple:
satuKolom = QTableWidgetItem(kolom)
self.ui.tableWidget.setItem(noBaris,noKolom,satuKolom)
noKolom+=1
noBaris+=1
except Error as e:
self.ui.tableWidget.clear()
self.ui.labelTanggapan.setText("Error mengakses tabel")
finally :
koneksi.close()
if __name__=="__main__":
app = QApplication(sys.argv)
w = formKu()
w.show()
sys.exit(app.exec_())
class formKu(QDialog):
def __init__(self):
super().__init__()
self.ui = Ui_Dialog()
self.ui.setupUi(self)
self.ui.pbSisipkanBaris.clicked.connect(self.sisipBaris)
self.show()
def sisipBaris(self):
email = self.ui.leEmail.text()
password = self.ui.lePassword.text()
namaTable = self.ui.leNamaTB.text()
sql = "insert into " + namaTable + " (email,password)" + " values ("+
"'" + email + "'" + "," + "'" + password + "'" + ");"
try :
koneksi = mysql.connector.connect(host = 'localhost',
user = 'root',
password = '',
database =
self.ui.leNamaDB.text())
if koneksi.is_connected():
cur = koneksi.cursor()
cur.execute(sql)
koneksi.commit()
self.ui.labelTanggapan.setText("Data berhasil disisipkan")
self.ui.leEmail.clear()
self.ui.lePassword.clear()
except Error as e:
self.ui.labelTanggapan.setText(sql)
print(sql)
finally :
koneksi.close()
if __name__=="__main__":
app = QApplication(sys.argv)
w = formKu()
w.show()
sys.exit(app.exec_())
class formKu(QDialog):
def __init__(self):
super().__init__()
self.ui = Ui_Dialog()
self.ui.setupUi(self)
self.ui.pbCari.clicked.connect(self.cariBaris)
self.show()
def koneksi(self):
koneksi = mysql.connector.connect(host = 'localhost',
user = 'root',
password = '',
database = 'demo')
cur = koneksi.cursor()
return [cur,koneksi]
def cariBaris(self):
email = self.ui.leEmail.text()
password = self.ui.lePassword.text()
sql = "select email,password from ekomers where email like
'"+email+"' and password like '"+password+"'"
try :
cur,koneksi = self.koneksi()
cur = koneksi.cursor()
cur.execute(sql)
baris = cur.fetchone()
if baris == None:
self.ui.labelTanggapan.setText("Maaf, alamat email atau
password tidak salah")
else :
self.ui.labelTanggapan.setText("Selamat Datang "+ email)
except Error as e:
self.ui.labelTanggapan.setText("Error mengakses baris")
finally :
koneksi.close()
if __name__=="__main__":
app = QApplication(sys.argv)
w = formKu()
w.show()
sys.exit(app.exec_())
class formKu(QDialog):
def __init__(self):
super().__init__()
self.ui = Ui_Dialog()
self.ui.setupUi(self)
self.ui.pbCari.clicked.connect(self.cariBaris)
self.show()
def koneksi(self):
koneksi = mysql.connector.connect(host = 'localhost',
user = 'root',
password = '',
database = 'demo')
cur = koneksi.cursor()
return [cur,koneksi]
def cariBaris(self):
namaTabel = self.ui.leNamaTB.text()
email = self.ui.leEmail.text()
sql = "select password from "+namaTabel+" where email like
'"+email+"'"
try :
cur,koneksi = self.koneksi()
cur.execute(sql)
baris = cur.fetchone()
if baris == None:
self.ui.labelTanggapan.setText(sql)
print(sql)
self.ui.lePassword.setText("")
else :
self.ui.labelTanggapan.setText("Alamat email ditemukan,
password dari user ini adalah :")
self.ui.lePassword.setText(baris[0])
except Error as e:
self.ui.labelTanggapan.setText("Error saat mengakses baris")
finally :
koneksi.close()
if __name__=="__main__":
app = QApplication(sys.argv)
w = formKu()
w.show()
sys.exit(app.exec_())
class formKu(QDialog):
def __init__(self):
super().__init__()
self.ui = Ui_Dialog()
self.ui.setupUi(self)
self.ui.pbUbah.clicked.connect(self.ubahPassword)
self.show()
def koneksi(self):
koneksi = mysql.connector.connect(host = 'localhost',
user = 'root',
password = '',
database = 'demo')
cur = koneksi.cursor()
return [cur,koneksi]
def ubahPassword(self):
email = self.ui.leEmail.text()
passwordLama = self.ui.lePassword.text()
passwordBaru = self.ui.lePasswordBaru.text()
konfirmasi = self.ui.leKonfirmasiPassword.text()
sql = "select email,password from ekomers where email like
'"+email+"' and password like '"+passwordLama+"'"
try :
cur,koneksi = self.koneksi()
cur = koneksi.cursor()
cur.execute(sql)
baris = cur.fetchone()
if baris is None:
self.ui.labelTanggapan.setText("Maaf, alamat email atau
password salah")
else :
if passwordBaru == konfirmasi :
sqlUpdate = "update ekomers set password =
'"+passwordBaru+"' where email like '"+email+"'"
if koneksi.is_connected():
cur.execute(sqlUpdate)
koneksi.commit()
self.ui.labelTanggapan.setText("Password berhasil
diubah")
else :
self.ui.labelTanggapan.setText("Kedua password tidak
cocok")
except Error as e:
self.ui.labelTanggapan.setText(sqlUpdate)
finally :
koneksi.close
if __name__=="__main__":
app = QApplication(sys.argv)
w = formKu()
w.show()
sys.exit(app.exec_())
E. KESIMPULAN
Kesimpulan apa yang telah diperoleh setelah melaksanakan praktikum ini:
Dalam menggunakan perintah sql dalam python perlu melakukan beberapa instalasi seperti :
mysql connector dan xampp,xampp disini berfungsi sebagai mysql server.
Penggunaan DBMS Mysql memungkinkan untuk membuat sebuah aplikasi yang lebih kompleks
dan terstruktur secara manajemen data.
F. DAFTAR PUSTAKA