Asisten :
Meliana 06181052
Disusun Oleh :
Yoga Tiara Wiguna 11211086
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
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
48 Baris kosong
50 Selesai
Investasi.py
No. Penjelasan
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
49-52 Buat perulangan if untuk menghitung perkalian, pembagian, penjumlahan pada total
investasi lalu akan menampilkan total hasil tersebut
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