Anda di halaman 1dari 13

Laporan Praktikum

Algoritma dan Pemrograman


PyQt5 : Widget

Asisten :
Hengki Agung Prayoga 11211044

Annisa Nur Auliya 17211004

Disusun Oleh :
Fadilah Apriliya Sari 04221054

Siti Khodijah Mulia 09221014

Ersa Putri Anggita 16221027

Marcellino Saputra 17221018


20 November 2022
Dasar Teori
Pada praktikum PyQt5: Wdget ini memiliki tujuan, agar praktikan dapat mampu
membangun antarmuka pengguna grafis yang disediakan oleh pustaka python yaitu PyQt5
melalui widget.

PyQt adalah pengikatan Phyton dari toolkit GUI lintas platform Qt, yang
diimplementasikan sebagai plug-in Phyton. PyQt adalah lintas platform GUI perangkat Qt yang
mengikat pada Python yang diimplementasikan sebagai plug-in. PyQt adalah perangkat lunak
gratis yang dikembangkan oleh perusahaan Inggris bernama Riverbank Computing. PyQt tersedia
di bawah persyaratan yang sama untuk Qt versi yang lebih tua dari 4,5; hal ini berarti berbagai
bentuk termasuk lisensi GNU General Public License (GPL) dan lisensi komersial, tetapi tidak GNU
Lesser General Public License (LGPL). PyQt mendukung Microsoft Windows serta berbagai varian
dari UNIX, termasuk Linux dan MacOS (atau Darwin OS).

PyQt mengimplementasikan sekitar 440 kelas dan lebih dari 6.000 fungsi dan metode
termasuk:

1. seperangkat widget GUI yang substansial


2. kelas – kelas untuk mengakses SQL database
3. QScintilla, widget editor teks kaya berbasis Scintilla
4. widget data aware yang diisi secara otomatis dari database
5. aplikasi XML parser
6. dukungan SVG
7. kelas-kelas untuk menyematkan kontrol ActiveX pada Windows (hanya dalam versi
komersial)

Aplikasi GUI dapat terdiri dari jendela utama dengan beberapa dialog atau hanya satu dialog.
Aplikasi GUI kecil biasanya terdiri dari setidaknya satu dialog. Aplikasi dialog berisi tombol. Itu
tidak mengandung bilah menu, bilah alat, bilah status, atau widget pusat, sedangkan aplikasi
jendela utama biasanya memiliki semua itu.

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. Dimana untuk memanggil fungsi
tersebut kita membutuhkan komponen utama yaitu berisi modul-modul yaitu :
QtWidgets,QtGui,Qlabel

1
Source Code

No. programdatabarangbesertaharganyakedalamsebuahtabel.py

1 import sys
2 from PyQt5.QtWidgets import *
3 app = QApplication ([])
4
5 window = QMainWindow()
6 window.setMaximumHeight(500)
7 window.setMaximumWidth(1000)
8 window.setGeometry(500, 200, 800, 500)
9 window.setWindowTitle("Data Barang Beserta Harga")
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
18 judul = QTableWidget(table)
19 judul.setGeometry(16, 1, 250, 25)
20 barang = QLabel(judul)
21 barang.setText("Nama Barang")
22 barang.move(80, 5)
23
24 judul2 = QTableWidget(table)
25 judul2.setGeometry(265, 1, 250, 25)
26 harga = QLabel (judul2)
27 harga.setText("Harga Barang")
28 harga.move(80, 5)
29
30 judul3 = QTableWidget(table)
31 judul3.setGeometry(515, 1, 100, 25)
32 jumlah = QLabel(judul3)
33 jumlah.setText("Jumlah Barang")
34 jumlah.move (10, 5)
35
36 tombol_tambah = QPushButton(window)
37 tombol_tambah.move(680, 100)
38 tombol_tambah.setText("Tambah Tabel")
39 tombol_hapus = QPushButton(window)
40 tombol_hapus.move(680, 60)
41 tombol_hapus.setText("Hapus Tabel ")
42
43 def tambah_tabel():
44 table.insertRow(1)
45 def hapus_tabel():
46 table.removeRow(1)
47
48 tombol_tambah.clicked.connect(tambah_tabel)
49 tombol_hapus.clicked.connect(hapus_tabel)
50
51 window.show()
52 sys.exit(app.exec_())

2
No. programpenghitunginvestasidalamjangkawaktutertentu.py

1 from PyQt5.QtWidgets import *


2 from PyQt5.QtGui import *
3
4 app = QApplication([])
5 window = QMainWindow()
6 window.setGeometry(500, 300, 500, 200)
7 window.setWindowTitle("Aplikasi Investasi")
8
9 label_modal = QLabel(window)
10 label_modal.setText("Masukkan Modal Investasi (Rp) : ")
11 label_modal.setFixedWidth(300)
12 label_modal.move(20,20)
13
14 ledit_modal = QLineEdit(window)
15 ledit_modal.setText('0')
16 ledit_modal.setToolTip('silakan masukan modal anda')
17 ledit_modal.move(220,20)
18 ledit_modal.setFixedWidth(260)
19
20 label_bunga = QLabel(window)
21 label_bunga.setText("Masukkan Bunga Investasi (%) : ")
22 label_bunga.setFixedWidth(300)
23 label_bunga.move(20,60)
24
25 ledit_bunga = QLineEdit(window)
26 ledit_bunga.setText('0')
27 ledit_bunga.setToolTip('silakan masukan Bunga Investasi')
28 ledit_bunga.move(220,60)
29 ledit_bunga.setFixedWidth(260)
30
31 label_waktu = QLabel(window)
32 label_waktu.setText("Jangka Waktu Investasi (Tahun) : ")
33 label_waktu.setFixedWidth(300)
34 label_waktu.move(20,100)
35 ledit_waktu = QLineEdit(window)
36
37 ledit_waktu.setText('0')
38 ledit_waktu.setToolTip('silakan masukan Jangka waktu investasi')
39 ledit_waktu.move(220,100)
40 ledit_waktu.setFixedWidth(260)
41
42 button_ok = QPushButton(window)
43 button_ok.setText("Hitung")
44 button_ok.move(380, 150)
45
46 def button_act():
47 modal = int(ledit_modal.text())
48 bunga = int(ledit_bunga.text())
49 waktu = int(ledit_waktu.text())
50 hasil = modal
51 message_box = QMessageBox(window)
52 while waktu > 0:
53 hasil = hasil + modal * bunga / 100
54 modal = hasil
55 waktu = waktu - 1
56 message_box.setText(f"Uang anda setelah investasi Rp

3
57 {int(hasil)},00")
58 message_box.exec_()
59
60 button_ok.clicked.connect(button_act)
61 window.show()
62 app.exec_()

4
Screenshot
1. Program data barang beserta harganya ke dalam sebuah tabel

Tampilan awal program, pengguna diminta untuk memasukkan data barang beserta harganya kedalam
sebuah tabel.

Setelah memasukkan data dan harga barang beserta jumlahnya, maka program akan mengeluarkan
output yang muncul di layar komputer.

5
2. Program penghitung investasi dalam jangka waktu tertentu dengan bunga sekian persen
pertahunnya

Tampilan awal program, pengguna diminta untuk memasukkan modal investasi.

Setelah memasukkan modal investasi, pengguna diminta untuk memasukkan bunga investasi.

Setelah memasukkan bunga investasi, pengguna diminta untuk memasukkan jangka waktu investasi.

6
Setelah memasukkan jangka waktu investasi, klik hitung maka program akan mengeluarkan output
yang muncul di layar komputer.

7
Pembahasan
Program_ data_barang_beserta_harganya_ke_dalam_sebuah_tabel.py
No. Penjelasan

1-2 Lakukan import sys dari PyQt5. QtWidgets import untuk Menyediakan widget yang siap
untuk digunakan diaplikasi, meliputi elemen grafis untuk antarmuka yang akan dibuat.

3 Variabel app berisi perintah Qapplication berfungsi untuk menampilkan aplikasi

4 Baris kosong (sebagai jarak antara baris satu dengan baris lainnya)

5-9 Variabel window berisi perintah QmainWindow yang berfungsi untuk menyediakan
struktur basic (framework) untuk membangun user interface pada aplikasi PySide lalu set
ketinggian 500 lalu set lebar 1000 lalu atur geometri 500,200,800,500, lalu tambkan
kalimat “Data Barang Beserta Harga”

10 Baris kosong (sebagai jarak antara baris satu dengan baris lainnya)

11-16 Kemudian buat variabel table dengan isi perintah QtableWidget ke variabel window
dimana berfungsi untuk menampilkan tabel yang dapat di suting atur ukuran dengan
1,1,800,500 lalu tambahkan kolom sebanyak 3 lalu baris sebanyak 1 dimana lebar kolom
0,250 lalu 1,250

17 Baris kosong (sebagai jarak antara baris satu dengan baris lainnya)

18-22 Variabel judul berisi perintah QTableWidget ke variabel table diatur ukuran geometri
16,1,250,25 kemudian buat variabel barang dengan perintah QLabel ke judul berfungsi
memberikan informasi teks, tidak terdapat interaksi apapun yang dapat dilakukan oleh
pengguna lalu tambahkan kalimat di variabel barang yaitu Nama Barang lalu perintah kan
variabel barang Memindahkan posisi label pada widget ke 80,5

23 Baris kosong (sebagai jarak antara baris satu dengan baris lainnya)

24-28 Lalu buat variabel judul 2 berisi perintah QtableWidget ke variabel table diatur ukuran
geometrinya 265,1,250,25 lalu buat variabel harga dengan isi perintah Qlabel untuk
menambahkan judul 2 dengan kalimat Harga Barang lalu perintah kan variabel harga
memindahkan label pada widget ke 80,5

29 Baris kosong (sebagai jarak antara baris satu dengan baris lainnya)

30-34 Lalu buat variabel judul 3 berisi perintah QtableWidget ke variabel table diatur ukuran
geometrinya 515,1,100,25 lalu buat variabel jumlah dengan isi perintah Qlabel untuk
menambahkan judul 3 dengan kalimat Jumlah Barang lalu perintah kan variabel harga
memindahkan label pada widget ke 10,5

35 Baris kosong (sebagai jarak antara baris satu dengan baris lainnya)

36-38 Buat variabel tombol_tambah dimana berisi perintah QPushButton yang berfungsi untuk
menambahkan tombol di variabel window dengan posisi ukuran 680,100 lalu berikan teks
Tambah Tabel

39-41 Buat variabel tombol_hapus dimana berisi perintah QPushButton yang berfungsi untuk
menambahkan tombol di variabel window dengan posisi dan ukuran 680,60 lalu berikan

8
teks Hapus tabel

42 Baris kosong (sebagai jarak antara baris satu dengan baris lainnya)

43-46 Buat fungsi tambah tabel dengan tuple kosong lalu berikan perintah pada table untuk
menambahkan baris tabel sebanyak 1 lalu fibuat fungsi hapus_table dengan tuple kosong
lalu diberikan perintah remove row atau hapus baris tabel sebanyak 1

47 Baris kosong (sebagai jarak antara baris satu dengan baris lainnya)

48-49 Tombol_tambah berikan perintah apabila di clik tersambung ke perintah fungsi


tambah_tabel lalu tombol hapus berikan perintah apabila di clik tersambung ke perintah
fungsi hapus_tabel

50 Baris kosong (sebagai jarak antara baris satu dengan baris lainnya)

51-52 Kemudian tampilkan atau show window lalu sys exit (app exec) sebagai pertanda selesai
program

53 Selesai

Program_ penghitung_investasi_dalam_jangka_waktu_tertentu.py
No. Penjelasan

1-2 Menginisiasi variabel untuk memanggil fungsi import QtWidget dan QtGui.

3 Baris kosong (sebagai jarak antara baris satu dengan baris lainnya).

4-6 Dua angka pertama untuk menentukan posisi munculnya program (jadi misal
kita buka program sehinnga program bisa tampil diatas/dibawah/ditengah dll) dua angka
terakhir untuk mengatur ukuran window).

7 Baris kosong (sebagai jarak antara baris yang satu dengan baris lainnya).

8-11 Fungsi untuk membuat baris baru dan set tulisan pada baris.

12 Baris kosong (sebagai jarak antara baris satu dengan baris lainnya).

13-17 Fungsi untuk membuat baris baru dan set tulisan pada baris modal investasi.

18 Baris kosong (sebagai jarak antara baris satu dengan baris lainnya).

19-22 Fungsi untuk membuat baris baru dan set tulisan pada baris pada bunga investasi (%).

23 Baris kosong (sebagai jarak antara baris satu dengan baris lainnya).

24-28 Fungsi untuk membuat baris baru dan set tulisan pada baris pada masukkan bunga
investasinya.

29 Baris kosong (sebagai jarak antara baris satu dengan baris lainnya).

30-33 Fungsi untuk membuat baris baru dan set tulisan pada baris pada masukkan
jangka waktu investasi(tahun).

34 Baris kosong (sebagai jarak antara baris satu dengan baris lainnya).

9
35-40 Fungsi untuk membuat baris baru dan set tulisan pada baris pada masukkan jangka waktu
investasi.

41 Baris kosong (sebagai jarak antara baris satu dengan baris lainnya).

42-44 Menginisiasi variable untuk membuat set button pada window,set text pada
button,set posisi button pada text.

45 Baris kosong (sebagai jarak antara baris satu dengan baris lainnya).

46-58 Fungsi untuk mendefinisikan button_act,input,membuat window baru untuk


menampilkan data (text baru pada window) command untuk melakukan tugas pada fungsi
def yang diatasnya/ execute.

59 Baris kosong (sebagai jarak antara baris satu dengan baris lainnya).

60 Berisi perintah untuk menjalankan fungsi def button diatasnya.

61-62 Fungsi untuk menjalankan semua program yang berada diatasnya.

63 Selesai.

10
Kesimpulan
Setelah melakukan praktikum ini dapat disimpulkan bahwa praktikan dapat menggunakan fungsi
PyQt5 sebagai berikut :

1. PyQt adalah pengikatan Python dari toolkit GUI lintas platform Qt, yang diimplementasikan
sebagai plug-in Python. Artinya, kita dapat membuat aplikasi GUI Desktop menggunakan
Python dengan menggunakan PyQT.
2. Praktikan dapat mengetahui penggunaan grafis yang telah disediakan oleh modul PyQt5 dari
pustaka dan melalui widget yang ada pada modul.

Saran
Saran pada praktikum kali ini adalah sudah sangat baik dan jelas dalam memaparkan materi
dan mohon untuk terus dipertahankan kejelasannya dalam penyampaian materi berikutmya. Thankyouu
kakak.

11
Daftar Pustaka
Muhardian, A. (2019, Januari 30). 12 Modul Python untuk Membuat Aplikasi GUI (Desktop).
Diambil kembali dari Petani Kode:
https://www.petanikode.com/python-gui/

Uknown. (2018, Agustus 07). Jenis-Jenis Widget Yang Tedapat Pada Tkinter Python. Diambil
kembali dari Logika Pyhton:
https://logikapython.blogspot.com/2018/08/jenis-jenis-widget-yang-tedapat-pada-tkinter-python.html

Gusty Ahmad Fanshuri Alfarisy, M. Kom. Modul Praktikum : Algoritma dan Pemrograman.
Banjarmasin.

12

Anda mungkin juga menyukai