Anda di halaman 1dari 9

Laporan Praktikum

Algoritma dan Pemrograman


PyQt5 : Widget

Asisten :
Fahri Dwi Hariyadi 11211037

Ghina Suhaimah Amin 12221059

Disusun Oleh :
Zain Achmad Kahfi 05221022

Iqbal Fahrian 03221053

Andi Mahdia Ainia 05221038

Josi Masjaya R. 05221005

Ragil Siratramdani 08221022


Alfandi Yusuf Prabowo 03221004

15 Mei 2023
Dasar Teori
Pada minggu ini kami praktikum modul 12 yang berjudul PyQt5 : Widget. Tujuan
dilakukannya praktikum modul ini yaitu praktikan diharapkan mampu membangun antarmuka
pengguna grafis yang disediakan oleh pustaka python yaitu PyQt5 melalui widget. PyQt adalah
lintas platform GUI perangkat Qt yang mengikat pada Python yang diimplementasikan sebagai
plug-in. PyQt5 adalah modul python untuk pengembangan aplikasi desktop GUI. PyQt ini tersedia
untuk berbagai platform seperti Windows, Mac, Linux, IOS, dan Android.
Menurut Riffa (2021), PyQt dalam versi 5 ini terdapat lebih dari 35 modul ekstensi dan
memungkinkan Python untuk digunakan sebagai bahasa pengembangan aplikais. Seorang penulis
artikel mengatakan, PyQt5 merupakan crossplatform GUI framework dari Qt yang dibuat
menggunakan Ptython. PyQt5 berisi modul-modul Python antara lain QtQnl, WqtQtuick, QtCore,
QyGUI, QtPrintSupport, QtWidgets, QGLContext, QGLFormat, QGLWidget, QtWebKit, dan
QtWebKitWidgets.
Berdasarkan pemaparan dari Muhardin(2020), Widegt adalah object GUI dari GTK. Object
ini berisi properti-properti dan juga metode untuk mengatur perilaku object. GTK sendiri memiliki
banyak wodget yang dapat digunakan untuk membangun GUI. Setiap aplikasi GUI memiliki
widget level atas dan sejumlah widget sebagai widget anaknya. Widget level atas dapat berupa
Qdialog, Qwidget, atau Qmain Window, tergantung dari template yang diperlukan. Berikut ini
merupakan 3 widget yang sering digunakan :
1. Widget Label, merupakan objek dari kelas Qlabel dan dipakai untuk menampilkan pesan
dan citra. Karena widget label hanya menampilkan hasil komputasi dan tidak dapat
dipakai untuk membaca masukan, widget ini hanya dipakai untuk menampilkan informasi
dilayar.
2. Widget Line Edit, adalah widget yang populer digunakan untuk membaca atau
memasukkan data satu baris. Widget ini merupakan sebuah objek dari kelas QlineEdit,
dimana fungsinya bukan hanya untuk memasukkan data tetapi pengguna juga dapat
mengeditnya seperti melalukan undo, redo, cut, paste, terhadap data pada widget.
3. Widget Push Botton, adalah objek dari kelas QpushButton dan digunakan untuk
menampilkan tombol pada aplikasi.

1
Source Code

No. Data Barang.py


1. Import sys
2. from PyQt5.QtWidgets import *
3.
4. app = Qapplication ([])
5. window = QmainWindow()
6. window.setMaximumHeight(500)
7. window.setMaximumWidth(800)
8. window.setGeometry(500, 200, 800, 500)
9. window.setWindowTitle(“Data Harga Barang”
10. table = QTableWidget(window)
11. table.setGeometry(1, 1, 800, 500)
12. table.setColumnCount(3)
13. table.setRowCount(1)
14. table.setColumnWidth(0, 250)
15. table.setColumnWidth(1, 250)
16. judul1 = QTableWidget(table)
17. judul1.setGeometry(16, 1, 250, 25)
18. barang = QLabel(judul1)
19. barang.setText("Nama Barang")
20. barang.move(80, 5)
21. barang.move(80, 5)

22. judul2.setGeometry(265, 1, 250, 25)

23. harga = QLabel(judul2)

24. harga.setText("Harga Barang (Rp)")


harga.move(80, 5)
25.
judul3 = QTableWidget(table)
26.
judul3.setGeometry(522, 1, 120, 25)
27.
jumlah = QLabel(judul3)
28.
jumlah.setText("Jumlah Barang")
29.
jumlah.move(10, 5)
30.
tambah = QPushButton(window)
31.
tambah.move(650, 30)
32.
tambah.setText("Tambah Tabel")
33.
hapus = QPushButton(window)
34.
hapus.move(650, 60)
35.

2
36. hapus.setText("Hapus Tabel")
37.
38. def tambah_tabel():
39. table.insertRow(0)
40.
41. def hapus_tabel():
42. table.removeRow(1)
43.
44. tambah.clicked.connect(tambah_tabel)
45. hapus.clicked.connect(hapus_tabel)
46.
47. window.show()
48. sys.exit(app.exec_())

3
Screenshot
1. Tampilan awal program, fitur pada program ini dapat menambahkan tabel, hapus tabel serta list barang.

Tampilan program, ketika user menginput barang, harga barang dan jumlah barang.

Tampilan program, ketika user menambahkan tabel, program akan menjalankan perintah dari user.

4
Tampilan program, ketika user menghapus tabel listnya, list data yang sebelumnya diisi, telah dihapus.

5
Pembahasan
Data Barang.py
No. Penjelasam

1-3. Import system dari PyQt5


4-8. Membuat main window dengan judul “Data Harga Barang” serta mengatur dimensi
9-14. Membuat table dengan menggunakan QTableWidget pada main window serta
mengatur baris dan kolom dan nilai geometrinya
15-19. Mengatur “Nama Barang” sebagai judul pada kolom pertama dengan dimensi yang
telahdisesuaikan pada dimensi table yang telah dibuat
20-24. Mengatur “Harga Barang (Rp)” sebagai judul pada kolom pertama dengan dimensi
yangtelah disesuaikan pada dimensi table yang telah dibuat.
Mengatur“Jumlah
25-29. Mengatur “JumlahBarang”
Barang”sebagai
sebagaijudul
judulpada
padakolom
kolompertama
pertamadengan
dengandimensi
dimensiyang
yang telah disesuaikan
telahdisesuaikan pada dimensi
pada dimensi table telah
table yang yang dibuat
telah dibu
30-32. Membuat tombol “Tambah Tabel” yang berfungsi untuk menambahkan jumlah
baris pada table sebanyak 1 baris dari baris paling atas.
33-35. Membuat tombol “Hapus Tabel” yang berfungsi untuk menghapus jumlah baris
pada tablesebanyak 1 baris dari baris paling bawah
36-37. Menggunakan def sebagai fungsi agar dapat menjalankan tombol Tambah Tabel

38-39. Menggunakan def sebagai fungsi agar dapat menjalankan tombol Tambah Tabel

40. Membuat konektivitas ketika user memilih atau klik tombol Tambah Tabel maka
output berupa penambahan tabel akan ditampilkan
41. Membuat konektivitas ketika user memilih atau klik tombol Hapus Tabel maka
output berupa pengurangan atau penghapusan tabel akan ditampilkan
42. Menampilkan windows atau aplikasi yang telah diprogramkan

43. Mengakhiri program

6
Kesimpulan
Kesimpulan yang dapat diperoleh setelah melakukan praktikum ini yaitu dari membuat program
“PyQt5:Widget” ini, praktikan berhasil membangun antarmuka pengguna grafis yang disediakan
oleh pustaka Python yaitu PyQt5 mellaui widget, sehingga dapat disimpulkan bahwa, PyQt5
merupakan salah satu lintas platform dari GUI yang disediakan oleh python sebagai plug-in.
Widget adalah elemen GUI (Graphical User Interface) yang menampilkan informasi atau memberikan cara khusus
bagi user untuk berinteraksi dengan OS atau aplikasi. Contoh widget yang biasa digunakan programmer adalah :
1. QcheckBox0
2. QcomboBox
3. QdateEdit
4. QdateTimeEdit
5. Qdial
6. QdoubleSpinbox
7. QfontComboBox
8. QLCDNumber
9. Qlabel
10. QlineEdit
11. QprogressBar, dll.

Saran
Saran saya adalah agar kakak asdos serta asprak tetap semangat dalam menjalankan amanahnya
mengajari kami mengenai pemrograman. Mohon maaf apabila selama praktikum kami ada
kesalahan dan terimakasih telah mengajari kami para praktikan. Sekian terimakasih.

7
Daftar Pustaka
https://p2k,stekom.ac.id/ensiklopedia/PyQt

https://ciksiti.com/id/chapters/9141-the-basics-of-pyqt5

https://raffamedia.com/membuat-aplikasi-pertamaanda-dengan-pyqt-5/

https://www.petanikode.com/pythongui/

Anda mungkin juga menyukai