0% menganggap dokumen ini bermanfaat (0 suara)
19 tayangan

Modul7 8 DBMS

Ringkasan dokumen tersebut adalah: 1. Dokumen tersebut merangkum hasil praktikum modul 7 dan 8 tentang penggunaan OOP dan dialog pada program GUI. 2. Terdapat 4 latihan praktikum yang membahas penggunaan kelas, pewarisan tunggal, pewarisan jamak, dan pewarisan jamak lanjutan pada program GUI. 3. Setiap latihan dilengkapi dengan screenshot hasil program dan source code beserta penjelasannya.

Diunggah oleh

Nelson
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
19 tayangan

Modul7 8 DBMS

Ringkasan dokumen tersebut adalah: 1. Dokumen tersebut merangkum hasil praktikum modul 7 dan 8 tentang penggunaan OOP dan dialog pada program GUI. 2. Terdapat 4 latihan praktikum yang membahas penggunaan kelas, pewarisan tunggal, pewarisan jamak, dan pewarisan jamak lanjutan pada program GUI. 3. Setiap latihan dilengkapi dengan screenshot hasil program dan source code beserta penjelasannya.

Diunggah oleh

Nelson
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 18

JAWABAN MODUL 7 & 8

PRAKTIKUM
SISTEM MANAJEMEN BASIS DATA

Nama : Nelson Mandela R.l


NPM : 2140304003

LABORATORIUM SISTEM INFORMASI DAN KOMPUTASI CERDAS


JURUSAN TEKNIK KOMPUTER, UNIVERSITAS BORNEO TARAKAN |
Jalan Amal Lama No. 1, Tarakan, Kalimantan Utara
TAHUN 2023
MODU L 7
&8
PENGGUNAAN OOP Dan Dialog
MODUL PRAKTIKUM SISTEM MANAJEMEN BASIS DATA

A. TUJUAN

 Mampu melakukan metode OOP ke dalam program GUI.


 Mampu memahami dan menerapkan dialog ke dalam program.

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 80 s.d 122.

D. LATIHAN PRAKTIKUM MODUL 7


1. Menggunakan kelas pada GUI
 Screenshot GUI program hasil eksekusi dan bukti komponen GUI-nya aktif tempelkan di
bawah ini:

© 2023 Jurusan Teknik Komputer, Fakultas Teknik, UBT 2


MODUL PRAKTIKUM SISTEM MANAJEMEN BASIS DATA

 Source code Program beserta penjelasan di dalamnya, letakkan di bawah ini:

Source Code :
import sys
from PyQt5.QtWidgets import QDialog, QApplication
from LineEditKelas import *

class siswa:
nama = ""
def __init__(self,nama):
self.nama = nama
def getNama(self):
return self.nama

class FormKu(QDialog):
def __init__(self):
super().__init__()
self.ui = Ui_Dialog()
self.ui.setupUi(self)
self.ui.pushButton.clicked.connect(self.tampilPesan)
self.show()

def tampilPesan(self):
objSiswa = siswa(self.ui.leNama.text())
self.ui.LabelOutput.setText("Hallo "+objSiswa.getNama())

if __name__=="__main__":
app = QApplication(sys.argv)
w = FormKu()
w.show
sys.exit(app.exec_())

© 2023 Jurusan Teknik Komputer, Fakultas Teknik, UBT 3


MODUL PRAKTIKUM SISTEM MANAJEMEN BASIS DATA

Penjelasan :
Dengan membuat kelas dengan nama siswa yang mengembalikan nilai
Self.siswa sehingga objek yang dibuat mengambil masukkan dari line edit yang kemudian
dikembalikan oleh class siswa

2. Melakukan Pewarisan Tunggal


 Screenshot GUI program hasil eksekusi dan bukti komponen GUI-nya aktif tempelkan di
bawah ini:

 Source code Program beserta penjelasan di dalamnya, letakkan di bawah ini:

import sys
from PyQt5.QtWidgets import QDialog, QApplication
from PanggilKelasSiswa import *

class siswa:
nama = ""
def __init__(self,kode,nama):
self.nama = nama
self.kode = kode
def getKode(self):
return self.kode
def getNama(self):
return self.nama

class FormKu(QDialog):
def __init__(self):
super().__init__()
self.ui = Ui_Dialog()
self.ui.setupUi(self)

© 2023 Jurusan Teknik Komputer, Fakultas Teknik, UBT 4


MODUL PRAKTIKUM SISTEM MANAJEMEN BASIS DATA

self.ui.pushButton.clicked.connect(self.tampilPesan)
self.show()

def tampilPesan(self):
objSiswa = siswa(self.ui.leKode.text() , self.ui.leNama.text())
self.ui.LabelOutput.setText("Kode: "+objSiswa.getKode() +"Nama :
"+objSiswa.getNama())

if __name__=="__main__":
app = QApplication(sys.argv)
w = FormKu()
w.show
sys.exit(app.exec_())

Penjelasan :

Memiliki cara kerja yang sama dengan program nomor 1,namun pada program ini
ditambahkan satu masukkan lagi yaitu line edit untuk meng-input kode siswa. Sehingga
dalam class siswa dibuat satu fungsi lagi yaitu getCode untuk mengembalikan value dari
leKode.

3. Membuat Pewarisan Level Jamak


 Screenshot GUI program hasil eksekusi dan bukti komponen GUI-nya aktif tempelkan di
bawah ini:

© 2023 Jurusan Teknik Komputer, Fakultas Teknik, UBT 5


MODUL PRAKTIKUM SISTEM MANAJEMEN BASIS DATA

 Source code Program beserta penjelasan di dalamnya, letakkan di bawah ini:

import sys
from PyQt5.QtWidgets import QDialog, QApplication
from pewarisan import *

class siswa:
nama = ""
kode = ""
def __init__(self,kode,nama):
self.nama = nama
self.kode = kode
def getKode(self):
return self.kode
def getNama(self):
return self.nama

class nilai(siswa):
nilaiSejarah = 0
nilaiGeogragi = 0

def __init__(self,kode,nama,nilaiSejarah,nilaiGeografi):

© 2023 Jurusan Teknik Komputer, Fakultas Teknik, UBT 6


MODUL PRAKTIKUM SISTEM MANAJEMEN BASIS DATA

siswa.__init__(self,kode,nama)
self.nilaiSejarah = nilaiSejarah
self.nilaiGeografi = nilaiGeografi

def getNilaiSejarah(self):
return self.nilaiSejarah
def getNilaiGeografi(self):
return self.nilaiGeografi

class FormKu(QDialog):
def __init__(self):
super().__init__()
self.ui = Ui_Dialog()
self.ui.setupUi(self)
self.ui.pushButton.clicked.connect(self.tampilPesan)
self.show()
def tampilPesan(self):
objNilai = nilai(self.ui.lineEdit.text(),
self.ui.lineEdit_2.text(),
self.ui.lineEdit_3.text(),
self.ui.lineEdit_4.text())
self.ui.label_5.setText("Kode : "+objNilai.getKode()+
" Nama : "+objNilai.getNama()+
"\nNilai Sejarah :
"+objNilai.getNilaiSejarah()+
" Nilai Geografi :
"+objNilai.getNilaiGeografi())

if __name__=="__main__":
app = QApplication(sys.argv)
w = FormKu()
w.show
sys.exit(app.exec_())

Penjelasan :
Pada aplikasi ditambahkan 2 line edit untuk menerima masukkan nilai geografi dan
sejarah, dan untuk dua masukkan tersebut dibuatkan class khusus yang dengan nama class
nilai yang mewarisi isi dari class siswa, dan 2 fungsi didalam nya digunakan unutuk
mengembalikan nilai sejarah dan geografi

4. Membuat Pewarisan Level Jamak

© 2023 Jurusan Teknik Komputer, Fakultas Teknik, UBT 7


MODUL PRAKTIKUM SISTEM MANAJEMEN BASIS DATA

 Screenshot GUI program hasil eksekusi dan bukti komponen GUI-nya aktif tempelkan di
bawah ini:

 Source code Program beserta penjelasan di dalamnya, letakkan di bawah ini:

Source Code :
import sys
from PyQt5.QtWidgets import QDialog, QApplication
from guiApp import *

class siswa:
nama = ""
kode = ""
def __init__(self,kode,nama):
self.kode = kode
self.nama = nama
def getKode(self):
return self.kode
def getNama(self):
return self.nama

class nilai(siswa):
nilaiSejarah = 0
nilaiGeografi = 0

def __init__(self, kode, nama,nilaiSejarah,nilaiGeografi):

© 2023 Jurusan Teknik Komputer, Fakultas Teknik, UBT 8


MODUL PRAKTIKUM SISTEM MANAJEMEN BASIS DATA

super().__init__(kode, nama)
self.nilaiSejarah = nilaiSejarah
self.nilaiGeografi = nilaiGeografi

def getNilaiSejarah(self):
return self.nilaiSejarah
def getNilaiGeografi(self):
return self.nilaiGeografi

class hasil(nilai):
nilaiTotal = 0
presentase = 0

def __init__(self, kode, nama,nilaiSejarah,nilaiGeografi):


nilai.__init__(self,kode, nama,nilaiSejarah,nilaiGeografi)
self.nilaiTotal = nilaiSejarah + nilaiGeografi
self.presentase = (nilaiSejarah + nilaiGeografi) / 200 * 100
def getNilaiTotal(self):
return self.nilaiTotal
def getPresentase(self):
return self.presentase

class formKu(QDialog):
def __init__(self):
super().__init__()
self.ui = Ui_Dialog()
self.ui.setupUi(self)
self.ui.tombol.clicked.connect(self.tampilPesan)
self.show()

def tampilPesan(self):
objHasil = hasil(self.ui.leKode.text(),self.ui.leNama.text(),
int(self.ui.leSejarah.text()),
int(self.ui.leGeografi.text()))
self.ui.leTotal.setText(str(objHasil.getNilaiTotal()))
self.ui.lePresentase.setText(str(objHasil.getPresentase()))

if __name__=="__main__":
app = QApplication(sys.argv)
w = formKu()
w.show()
sys.exit(app.exec_())

Penjelasan :

© 2023 Jurusan Teknik Komputer, Fakultas Teknik, UBT 9


MODUL PRAKTIKUM SISTEM MANAJEMEN BASIS DATA

Program ini merupakan bentuk terakhir dari program 1,2,dan 3. Pada program ini dibuat 1
lagi class presentase() yang mewarisi nilai dari class nilai(), sehingga ada 3 class dalam
program yaitu:
1. Class siswa()
2. Class nilai(siswa)
3. Class presentasi(nilai)
Dimana class siswa adalah parent class dari kedua class nilai dan presentase.
Class presentase digunakan untuk menghitung nilai total dan rata-rata siswa dari nilai
sejarah dan geografi dan mengemballikan nilai total dan rata-rata tersebut.

E. LATIHAN PRAKTIKUM MODUL 8


1. Menggunakan Dialog Masukan
 Screenshot GUI program hasil eksekusi dan bukti komponen GUI-nya aktif tempelkan
dibawah ini:

© 2023 Jurusan Teknik Komputer, Fakultas Teknik, UBT 10


MODUL PRAKTIKUM SISTEM MANAJEMEN BASIS DATA

 Source code program berserta penjelasannya letakkan dibawah ini :

import sys
from PyQt5.QtWidgets import QDialog,QApplication,QInputDialog
#from design import *
import design as AppUI

class formKu(QDialog):
def __init__(self):
super().__init__()
self.ui = AppUI.Ui_Dialog()
self.ui.setupUi(self)
self.ui.pbNegara.clicked.connect(self.tampilPesan)
self.show()
def tampilPesan(self):
negara = ("Indonesia","Singapura","Malaysia","Jepang","USA","Jerman",
"Indonesia","Indonesia","Indonesia","Indonesia",)
namaNegara, ok = QInputDialog.getItem(self,"Dialog Masukan","Daftar
Negara",negara,
0,False)
if ok and namaNegara:
self.ui.leNegara.setText(namaNegara)

if __name__=="__main__":
app = QApplication(sys.argv)
w = formKu()
w.show()
sys.exit(app.exec_())

Penjelasan :
Pada file hasil convert .ui ke .py sebuah kelas dengan nama dari objek level atas

© 2023 Jurusan Teknik Komputer, Fakultas Teknik, UBT 11


MODUL PRAKTIKUM SISTEM MANAJEMEN BASIS DATA

diciptakan yang dibubuhi awalan Ui_. Jadi, untuk objek level atas Dialog, kelas Ui_Dialog
diciptakan dan menyimpan elemen-elemen antarmuka dari widget

2. Menggunakan Dialog Warna


 Screenshot GUI program hasil eksekusi dan bukti komponen GUI-nya aktif tempelkan
dibawah ini:

© 2023 Jurusan Teknik Komputer, Fakultas Teknik, UBT 12


MODUL PRAKTIKUM SISTEM MANAJEMEN BASIS DATA

 Source code program berserta penjelasannya letakkan dibawah ini :

import sys
from PyQt5.QtWidgets import QDialog,QApplication,QColorDialog
from PyQt5.QtGui import QColor
from PyQt5.QtGui import *
# from design import *
import design as AppUI

class formKu(QDialog):
def __init__(self):
super().__init__()
warna = QColor(0,0,0)
self.ui = AppUI.Ui_Dialog()
self.ui.setupUi(self)
self.ui.frameWarna.setStyleSheet("QWidget {background-color:%s}"
%warna.name())
self.ui.pbWarna.clicked.connect(self.tampilWarna)
self.show()

def tampilWarna(self):
warna = QColorDialog.getColor()
if warna.isValid():
self.ui.frameWarna.setStyleSheet("QWidget { background-color:
%s }"
%warna.name())
self.ui.labelWarna.setText("Anda memilih warna dengan kode :
"+str(warna.name()))

if __name__=="__main__":
app = QApplication(sys.argv)
w = formKu()
w.show()
sys.exit(app.exec_())

Penjelasan :
Module QcolorDialog bsia digunakan untuk melakukan custom warna dan mengetahui
code warna yang dipilih.

3. Menggunakan Dialog Font

© 2023 Jurusan Teknik Komputer, Fakultas Teknik, UBT 13


MODUL PRAKTIKUM SISTEM MANAJEMEN BASIS DATA

 Screenshot GUI program hasil eksekusi dan bukti komponen GUI-nya aktif tempelkan
dibawah ini:

 Source code program berserta penjelasannya letakkan dibawah ini :

import sys
from PyQt5.QtWidgets import QDialog,QApplication,QFontDialog
from design import *

class fontKu(QDialog):
def __init__(self):
super().__init__()
self.ui = Ui_Dialog()
self.ui.setupUi(self)
self.ui.pbFont.clicked.connect(self.ubahFont)

© 2023 Jurusan Teknik Komputer, Fakultas Teknik, UBT 14


MODUL PRAKTIKUM SISTEM MANAJEMEN BASIS DATA

self.show()
def ubahFont(self):
font, ok = QFontDialog.getFont()
if ok:
self.ui.textEdit.setFont(font)

if __name__=="__main__":
app = QApplication(sys.argv)
w = fontKu()
w.show()
sys.exit(app.exec_())

Penjelasan :
Dengan menggunakan QFontDialog, tidak hanya memberi akses untuk mengubah jenis
font pada teks namun langsung memberi fitur untuk melakukan custom ukuran,style,efek.

4. Menggunakan Dialog File


 Screenshot GUI program hasil eksekusi dan bukti komponen GUI-nya aktif tempelkan
dibawah ini:

(Contoh Menulis & Menyimpan File)

© 2023 Jurusan Teknik Komputer, Fakultas Teknik, UBT 15


MODUL PRAKTIKUM SISTEM MANAJEMEN BASIS DATA

(Contoh Membuka File)

© 2023 Jurusan Teknik Komputer, Fakultas Teknik, UBT 16


MODUL PRAKTIKUM SISTEM MANAJEMEN BASIS DATA

 Source code program berserta penjelasannya letakkan dibawah ini :

import sys
from PyQt5.QtWidgets import QMainWindow,QApplication,QAction,QFileDialog
from design import *

class formKu(QMainWindow):
def __init__(self):
super().__init__()
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.ui.actionBuka.triggered.connect(self.bukaDialogFile)
self.ui.actionSimpan.triggered.connect(self.simpanDialogFile)
self.show()

def bukaDialogFile(self):
fnama = QFileDialog.getOpenFileName(self,'Buka File','/home')
if fnama[0]:
f = open(fnama[0],'r')
with f:
data = f.read()
self.ui.textEdit.setText(data)
def simpanDialogFile(self):
opsi = QFileDialog.Options()
opsi != QFileDialog.DontUseNativeDialog
namaFile, _ =

© 2023 Jurusan Teknik Komputer, Fakultas Teknik, UBT 17


MODUL PRAKTIKUM SISTEM MANAJEMEN BASIS DATA

QFileDialog.getSaveFileName(self,"QFileDialog.getSaveFileName()",""
,"Semua File (*);;File Teks (*.txt)",
options = opsi)
f = open(namaFile,'w')
teks = self.ui.textEdit.toPlainText()
f.write(teks)
f.close()

if __name__=="__main__":
app = QApplication(sys.argv)
w = formKu()
w.show()
sys.exit(app.exec_())

F. KESIMPULAN
Kesimpulan apa yang telah diperoleh setelah melaksanakan praktikum ini:

Penggunakan OOP untuk membuat sebuah aplikasi tingkat atas yang memerlukan metode
class,pewarisan dll. Dan Menggunakan Module Dialog untuk berbagai kebutuhan spesifik
seperti menyimpan file,melakukan custom warna, dll

G. DAFTAR PUSTAKA

Sianipar, R.H., Siahaan, V. (2022). Pemrograman GUI: Python dan Database.

© 2023 Jurusan Teknik Komputer, Fakultas Teknik, UBT 18

Anda mungkin juga menyukai