Anda di halaman 1dari 11

Laporan Praktikum

Algoritma dan Pemrograman


PyQt5: Widget

Asisten :
Meliana 06181052

Ervalsa Dwi Nanda 11201028

Disusun Oleh :
Yoga Tiara Wiguna 11211086

Aulia Azizah Ramadhanti 10211022

Dinda Sa’adatul Hijrah 10211026

Haqia Shofia 12211038

Muhammad Akbar 10211054

Nanda Marliana 12211066

Rizky Aditya Putra 11211078

12 November 2021
Dasar Teori

A. PyQt
PyQt adalah library yang digunakan untuk mengembangkan aplikasi desktop, library ini
dalam library ini terdapat kumpulan library bahasa pemrograman lain (C++) yang bisa
digunakan untuk abstraksi independen Antarmuka Grafis (GUI).

B. Widget
Widget merupakan istilah yang digunakah oleh Qt sebagai objek utama antarmuka.
Pengguna dapat berinteraksi langsung dengan antarmuka grafis melalui widget yang telah
disediakan oleh PyQt. Antarmuka dapat terdiri dari beberapa widget yang disematkan pada
jendela utama. Berikut daftar widget yang dapat digunakan oleh programmer :
NO Widgets Deskripsi
1 Q Label Objek QLabel bertindak sebagai tempat penampung untuk
menampilkan teks atau gambar yang tidak dapat diedit, atau film
GIF animasi. Hal ini juga dapat digunakan sebagai kunci mnemonik
untuk widget lain.
2 Q Line Edit Objek QLineEdit adalah bidang input yang paling umum digunakan.
Ini menyediakan kotak di mana satu baris teks dapat dimasukkan.
Untuk memasukkan teks multi-baris, objek QTextEdit diperlukan.
3 Q Push Button Dalam PyQt API, objek kelas QPushButton menyajikan tombol
yang ketika diklik dapat diprogram untuk memanggil fungsi tertentu.
4 Q Radio Button Objek kelas QRadioButton menyajikan tombol yang dapat dipilih
dengan label teks. Pengguna dapat memilih salah satu dari banyak
opsi disajikan pada formulir. Kelas ini berasal dari Kelas
QAbstractButton
5 Q Check Box Kotak persegi panjang sebelum label teks muncul ketika objek
QCheckBox ditambahkan ke jendela induk. Sama seperti
QRadioButton, itu juga merupakan tombol yang dapat dipilih.
6 Q Combo Box Objek QComboBox menyajikan daftar item dropdown untuk dipilih.
Dibutuhkan ruang layar minimum pada formulir yang diperlukan
untuk menampilkan hanya item yang dipilih saat ini.
7 Q Spin Box Objek QSpinBox menyajikan pengguna dengan kotak teks yang
menampilkan integer dengan tombol atas / bawah di sebelah
kanannya.

1
8 Q Slider Widget & Objek kelas QSlider menyajikan pengguna dengan alur di mana
Signal pegangan dapat dipindahkan. Ini adalah widget klasik untuk
mengontrol nilai terbatas.

2
Source Code
No. ProgramHargaBarang.py

1 import sys
2 from PyQt5.QtWidgets import *
3 app = QApplication([])
4
5 window = QMainWindow()
6 window.setMaximumHeight(500)
7 window.setMaximumWidth(800)
8 window.setGeometry(500,200,800,500)
9 window.setWindowTitle("List Data Harga Barang")
10
11 table = QTableWidget(window)
12 table.setGeometry(1,1,800,500)
13 table.setColumnCount(3)
14 table.setRowCount(1)
15 table.setColumnWidth(0,250)
16 table.setColumnWidth(1,250)
17 judul1 = QTableWidget(table)
18 judul1.setGeometry(16,1,250,25)
19 barang = QLabel(judul1)
20 barang.setText("Nama Barang")
21 barang.move(80,5)
22
23 judul2 = QTableWidget(table)
24 judul2.setGeometry(265,1,250,25)
25 harga = QLabel(judul2)
26 harga.setText("Harga Barang(Rp)")
27 harga.move(80,5)
28
judul3 = QTableWidget(table)
29
judul3.setGeometry(515,1,100,25)
30
jumlah = QLabel(judul3)
31
jumlah.setText("Jumlah Barang")
32
jumlah.move(10,5)
33
tombol_tambah = QPushButton(window)
34
tombol_tambah.move(650,30)
35
tombol_tambah.setText("Tambah Table")
36 tombol_hapus = QPushButton(window)
37 tombol_hapus.move(650,60)
38 tombol_hapus.setText("Hapus Tabel\nSebelumnya")
39
40 def tambah_table():
41 table.insertRow(0)
42 def hapus_tabel():
43 table.removeRow(1)
44
45 tombol_tambah.clicked.connect(tambah_table)
46 tombol_hapus.clicked.connect(hapus_tabel)
47
48 window.show()
49 sys.exit(app.exec_())
50

3
No. Investasi.py

1 import sys
2 from PyQt5.QtWidgets import *
3 from PyQt5.QtGui import *
4 app = QApplication([])
5 window = QMainWindow()
6 window.setGeometry(450,300,500,300)
7 window.setWindowTitle("Investasi anda")
8 labelKeluar = QLabel(window)
9 labelKeluar.setText("Jumlah Pengeluaran : ")
10 labelKeluar.setFixedWidth(150)
11 labelKeluar.move(20,20)
12 leditKeluar = QLineEdit(window)
13 leditKeluar.setText('')
14 leditKeluar.setToolTip('Silhkan masukkan jumlah pengeluaran')
15 leditKeluar.move(150,20)
16 leditKeluar.setFixedWidth(300)
17 labelBunga = QLabel(window)
18 labelBunga.setText("Bunga(%) : ")
19 labelBunga.setFixedWidth(150)
20 labelBunga.move(20,60)
21 leditBunga = QLineEdit(window)
22 leditBunga.setText('')
23 leditBunga.setToolTip('Silahkan masukan jumlah bunga pertahun')
24 leditBunga.move(150,60)
25 leditBunga.setFixedWidth(300)
26 labelTahun = QLabel(window)
27 labelTahun.setText("Tahun ke- : ")
labelTahun.setFixedWidth(150)
28
labelTahun.move(20,100)
29
leditTahun = QLineEdit(window)
30
leditTahun.setText('')
31
leditTahun.setToolTip('Silahkan Masukkan Tahun')
32
leditTahun.move(150,100)
33
leditTahun.setFixedWidth(300)
34
btn_calculate = QPushButton(window)
35
btn_calculate.setText('Calculate')
36 btn_calculate.setFixedWidth(60)
37 btn_calculate.move(230,160)
38 labelResult = QLabel(window)
39 labelResult.move(130,200)
40 labelResult.setFixedWidth(400)
41 def calculate():
42 isiKeluar = leditKeluar.text()
43 isiKeluar = int(isiKeluar)
44 isiBunga = leditBunga.text()
45 isiBunga = int(isiBunga)
46 isiTahun = leditTahun.text()
47 isiTahun = int(isiTahun)
48 if(isiTahun != 0 and isiKeluar !=0 and isiBunga !=0):
49 isiResult =(isiKeluar*isiBunga/100+isiKeluar)*isiTahun
50 isiResult = int(isiResult)
51 labelResult.setText(f"Investasi anda selama{isiTahun} tahun
52 menjadi RP.{isiResult}")
53 btn_calculate.clicked.connect(calculate)
54 window.show()
55 sys.exit(app.exec_())

4
Screenshot
ProgramHargaBarang.py

Tampilan awal program, pengguna diminta untuk memasukkan barang,harga barang dan jumlah
barang dan bisa juga menghapus barang.

Investasi.py

Tampilan awal program, menampilkan tabel sesuai dengan program dan data dapat di tambahkan oleh
pengguna mulai dari jumlah pengeluaran,bunga dan tahun ke berapa pengguna melakukan investasi.

5
6
Pembahasan
ProgramHargaBarang.py
No. Penjelasan

1-3 Import sys dari PyQt

4 Baris kosong

5-9 Buat window lalu atur maximum height pada bilah status atur maximum width pada
bilah posisi setelah itu atur geometry untuk membuat keseluruhan bidang buat window
title untuk judul program

10 Baris kosong

11-16 Buat table widget window,geometry untuk membuat kolom lalu atur ukuran kolom
tersebut

17-18 Buat judul1 pada table widget dan geometry untuk mengukur judul1

19-21 Buat nama barang setelah itu masukkan variabel judul1, lalu masukkan judul1 “Nama
Barang

28 Baris kosong

29-39 Buat judul3 “Jumlah barang “ beserta kolom judul . setelah itu buat tombol untuk
menambah kolom dengan text “Tambah Table” dan buat tombol hapus dengan text
“Hapus Table Sebelumnya

40 Baris kosong

41-44 Buat fungsi tambah table dan juga fungsi hapus table

45 Baris kosong

46-47 Buat tombol tambah dan hapus agar dapat berfungsi

48 Baris kosong

49 Menampilkan window aplikasi

50 Selesai

Investasi.py
No. Penjelasan

1-4 Import sys dari pyqt

5-7 Buat window aplikasi lalu mengatur ukuran window dengan judul “Investasi anda”

7
8-16 Buat var pengeluaran dengan text “Jumlah Pengeluaran ” dan atur tool silahkan
masukkan jumlah pengeluaran

17-25 Buat label window” bunga atau persenan” dan atur silahkan masukkan jumlah bunga
pertahun

26-34 Buat label window “Tahun ke- “ dan atur silahkan masukkan tahun

35-38 Buat window “calculate” digunakan untuk menjalakan button

39-41 Buat label window “Result” guna menghitung keseluruhan Investasi

42-48 Buat fungsi calculate untuk jalankan program

49-52 Buat perulangan if untuk menghitung perkalian, pembagian, penjumlahan pada total
investasi lalu akan menampilkan total hasil tersebut

53 Menjalankan button calculate

54 Menampilkan program

55 Selesai

8
Kesimpulan
1. PyQt adalah library yang digunakan untuk mengembangkan aplikasi desktop, library ini
dalam library ini terdapat kumpulan library bahasa pemrograman lain (C++) yang bisa
digunakan untuk abstraksi independen Antarmuka Grafis (GUI).

2. Widget merupakan istilah yang digunakah oleh Qt sebagai objek utama antarmuka.
Pengguna dapat berinteraksi langsung dengan antarmuka grafis melalui widget yang telah
disediakan oleh PyQt.

Saran
Saya harap, saya bisa lebih baik dalam mengerjakan tugas praktikum. Sekian terima kasih

9
Daftar Pustaka

https://pesonainformatika.com/programming/membuat-desktop-kalkulator-python-pyqt5/

https://jagongoding.com/python/dasar/PyQt/

http://jogjacourse.com/qt5-python-gui-programming/

10

Anda mungkin juga menyukai