Anda di halaman 1dari 10

Laporan

Praktikum Algoritma
dan Pemrograman
pyQt5: Lay Out

Asisten :
Salfina 16211025

Fachri Yusuf Triantoro 04221042

Disusun Oleh :
Ahmad Maulana Adi Nugroho 03221026
Brithanio Marubeni Kila’S.P 03221042
Marietha Naresvari 08221010
Imelda Natalia Leme’ 05221002
Renaldy Rante 05221051

25 Mei 2023
Dasar Teori
CORELAP CORELAP (Computerized Relationship Layout Technique) yaitu salah satu dari algoritma konstruksi
yang menentukan penyusunan tata letak yang setiap departemen prinsip kerjanya menggunakan perhitungan TCR (Total
Closeness Rating). TCR merupakan jumlah nilai-nilai numerik yang menyatakan hubungan kedekatan antardepartemen.
Hubungan ini terlihat dari huruf masingmasing yang telah diberi bobot. Bobot kedekatan yang digunakan yaitu:
A = 6 (Mutlak harus dekat)
B = 5 (Sangat penting didekatkan)
I = 4 (Penting didekatkan)
O = 3 (Dapat didekatkan)
U = 2 (Tidak penting didekatkan)
X = 1 (Dihindari untuk didekatkan)
Termasuk hal yang penting dalam pemrograman berbasis GUI adalah managemen layout. Managemen layout adalah
suatu teknik atau cara bagaimana kita meletakkan widget-widget di atas window. Managemen layout tersebut bisa
dilakukan dengan dua cara: dengan absolute positioning atau layout classes[1].
• Absolute Positioning
Yaitu dengan cara kita mendefinisikan widget-widget dengan koordinat-koordinat absolute secara manual. Kita bisa
menempatkan tombol di koordinat tertentu, lalu menempatkan widget lain di koordinat yang lain. Akan tetapi, dengan
absolute positioning, ada beberapa kekurangan yang harus kita ketahui terlebih dahulu [2]. Ukuran dan posisi dari widget
tidak akan berpindah dan berubah apa bila ukuran window berubah.Penampilan aplikasi kemungkinan besar akan berbeda
di platform yang berbeda. Jika kita mengganti font, itu bisa merusak/mengganggu kesuluruhan penampilan layout. Jika
kita berkeinginan untuk mengubah tampilan layout, maka kita perlu mengubah satu-persatu widget yang ada pada layout.
Dan ini akan menghabiskan waktu serta tenaga yang banyak.
Layout Classes
Dengan menggunakan kelas layout, memanajemen layout pada window jadi lebih mudah dan praktis. Ini adalah cara
yang direkomendasikan. Management layout pada PySide yang paling dasar adalah dengan menggunakan kelas
PySide.QtGui.QHBoxLayout dan QtGui.QVBoxLayout. Keduanya menata widget secara horizontal dan vertikal di
window.
Box Layout
Kelas Pyside.QtGui.QBoxLayout menempatkan widget-widget pada window secara horizontal atau secara vertikal [4].
Ia mengambil ruang kosong dari parent layout, lalu membagi-baginya menjadi kotakkotak, dan tiap kotak-kotak tersebut
akan diisi oleh widge.

Pada tkinter, terdapat beberapa macam layout. Yaitu : pack, grid dan place. Dari ketiga layout diatas, kita harus memilih
salah satunya.. Dan tidak boleh mencampur nya dalam satu window.. Oya fungsi dari layout - layout dia atas adalah : •
Mengatur widget. • Mengelola tampilan window. • Membuat window agar tampak lebih baik.
Source Code

No. [Lay Out menambahkan data barang beserta harganya]


import tkinter as tk
1
from tkinter import ttk
2
3 def add_data():
4 name = name_entry.get()
5 price = price_entry.get()
6
7 if name and price:
table.insert('', 'end', values=(name, price))
8
name_entry.delete(0, 'end')
9 price_entry.delete(0, 'end')
10
11 root = tk.Tk()
12 root.title("Tambah Data Barang")
13 root.geometry("400x300")
14
main_frame = ttk.Frame(root, padding="20")
15 main_frame.pack()
16
17 table = ttk.Treeview(main_frame, columns=("Barang", "Harga"),
18 show="headings")
19 table.heading("Barang", text="Barang")
20 table.heading("Harga", text="Harga")
table.pack()
21
22 name_label = ttk.Label(main_frame, text="Nama Barang:")
23 name_entry = ttk.Entry(main_frame)
24
25 price_label = ttk.Label(main_frame, text="Harga Barang:")
26 price_entry = ttk.Entry(main_frame)
27 name_label.pack()
28 name_entry.pack()
29
price_label.pack()
30 price_entry.pack()
31
32 add_button = ttk.Button(main_frame, text="Tambah Data",
33 command=add_data)
34 add_button.pack()
35
root.mainloop()
36
37
Screenshot
Tampilan awal,pengguna :
Pembahasan

[Lay Out menambahkan data barang beserta harganya].py

No. Penjelasan
Impor library Tkinter dan ttk.

Buat fungsi add_data yang akan dipanggil saat tombol "Tambah Data" ditekan. Fungsi ini
akan mengambil teks dari entry nama dan entry harga, dan menambahkannya ke dalam
tabel Treeview. Setelah itu, mengosongkan entry nama dan entry harga.
Buat instance root sebagai objek utama Tkinter dan atur judul jendela dan
ukurannya.

Buat frame utama menggunakan ttk.Frame dan paketkan ke dalam root.

Buat Treeview dengan dua kolom ("Barang" dan "Harga") dan atur judul kolom
menggunakan heading. Paketkan Treeview ke dalam frame utama

Buat label "Nama Barang" dan entry untuk memasukkan nama barang menggunakan
ttk.Label dan ttk.Entry. Paketkan keduanya ke dalam frame utama
Buat label "Harga Barang" dan entry untuk memasukkan harga barang menggunakan
ttk.Label dan ttk.Entry. Paketkan keduanya ke dalam frame utama.

Buat tombol "Tambah Data" menggunakan ttk.Button dan atur fungsi add_data sebagai
perintah saat tombol ditekan. Paketkan tombol ke dalam frame utama
Jalankan loop utama menggunakan root.mainloop() untuk menampilkan jendela dan
menjalankan aplikasi Tkinter
Kesimpulan
Dari membuat program “PyQt5:Widget” ini, praktikan berhasil membangun antarmuka (interface)
pengguna grafis yang disediakan oleh pustaka python yaitu PyQt5 melalui widget, sehingga dapat
disimpulkan bahwa :

1. PyQt5 merupakan salah satu lintas platform dari Graphical User Interface yang disediakan oleh python
sebagi plug-in.
2. Widget merupakan sebutan yang digunakah oleh Qt sebagai objek utama antarmuka. User dapat
berkomunikasi secara langsung dengan antarmuka grafis melalui widget yang telah disediakan oleh PyQt.
Antarmuka dapat terdiri dari beberapa widget yang disematkan pada jendela utama.

Saran
Daftar Pustaka

Nurul H, 2021 https://jagongoding.com/python/pyside/management-layout-pada-pyside/

Rintho Rante Rerung, Algoritma dan Struktur Data untuk Perguruan Tinggi, (Sumatra Barat: Insan Cendekia
Mandiri, 2020) http://repo.iain-tulungagung.ac.id/18951/7/BAB%20V.pdf

Moh Nikmat, 2017. Belajar python. https://mn-belajarpython.blogspot.com/2016/12/macam-macamlayout-


pada-tkinter.html

Anda mungkin juga menyukai