-->

Program Python untuk menghitung luas dan keliling jajargenjang menggunakan PyQT5

Post a Comment

 import sys

from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QLineEdit, QPushButton, QVBoxLayout

class JajarGenjangApp(QWidget):

   def __init__(self):

       super().__init__()

       self.initUI()

   def initUI(self):

       self.setWindowTitle('Kalkulator Jajargenjang')

       # Label dan input untuk alas dan tinggi

       self.label_alas = QLabel('Masukkan alas jajargenjang:')

       self.input_alas = QLineEdit()

       self.label_tinggi = QLabel('Masukkan tinggi jajargenjang:')

       self.input_tinggi = QLineEdit()

      # Tombol untuk menghitung luas

       self.btn_hitung_luas = QPushButton('Hitung Luas')

       self.btn_hitung_luas.clicked.connect(self.hitung_luas)

       # Label dan input untuk sisi 1 dan sisi 2

       self.label_sisi1 = QLabel('Masukkan sisi 1 jajargenjang:')

       self.input_sisi1 = QLineEdit()

       self.label_sisi2 = QLabel('Masukkan sisi 2 jajargenjang:')

       self.input_sisi2 = QLineEdit()

       # Tombol untuk menghitung keliling

       self.btn_hitung_keliling = QPushButton('Hitung Keliling')

       self.btn_hitung_keliling.clicked.connect(self.hitung_keliling)

       # Label untuk menampilkan hasil

       self.label_hasil = QLabel('')

       # Layout

       layout = QVBoxLayout()

       layout.addWidget(self.label_alas)

       layout.addWidget(self.input_alas)

       layout.addWidget(self.label_tinggi)

       layout.addWidget(self.input_tinggi)

       layout.addWidget(self.btn_hitung_luas)

       layout.addWidget(self.label_sisi1)

       layout.addWidget(self.input_sisi1)

       layout.addWidget(self.label_sisi2)

       layout.addWidget(self.input_sisi2)

       layout.addWidget(self.btn_hitung_keliling)

       layout.addWidget(self.label_hasil)

       self.setLayout(layout)

   def hitung_luas(self):

       alas = float(self.input_alas.text())

       tinggi = float(self.input_tinggi.text())

       luas = alas * tinggi

       self.label_hasil.setText(f'Luas jajargenjang: {luas}')

   def hitung_keliling(self):

       sisi1 = float(self.input_sisi1.text())

       sisi2 = float(self.input_sisi2.text())

       keliling = 2 * (sisi1 + sisi2)

       self.label_hasil.setText(f'Keliling jajargenjang: {keliling}')

if __name__ == '__main__':

   app = QApplication(sys.argv)

   window = JajarGenjangApp()

   window.show()

   sys.exit(app.exec_())


Memahami Kode Secara Umum

Kode Python di atas dirancang untuk membuat sebuah aplikasi sederhana menggunakan library PyQt5. Aplikasi ini berfungsi sebagai kalkulator untuk menghitung luas dan keliling jajargenjang. Berikut adalah penjelasan langkah demi langkah:

 

Import Modul

import sys

from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QLineEdit, QPushButton, QVBoxLayout

  • import sys: Modul sys digunakan untuk berinteraksi dengan interpreter Python, seperti mengakses argumen baris perintah.
  • from PyQt5.QtWidgets import ...: Modul PyQt5.QtWidgets menyediakan berbagai kelas untuk membuat elemen antarmuka pengguna (UI) seperti jendela, label, kotak teks, tombol, dan layout.


Membuat Kelas JajarGenjangApp

class JajarGenjangApp(QWidget):

    # ...

  • class JajarGenjangApp(QWidget):: Mendefinisikan sebuah kelas bernama JajarGenjangApp yang mewarisi dari kelas QWidget. Ini berarti kelas kita akan menjadi sebuah jendela.

Inisialisasi UI

def initUI(self):

    # ...

  • self.setWindowTitle('Kalkulator Jajargenjang'): Memberikan judul pada jendela aplikasi.
  • QLabel: Membuat label untuk menampilkan teks statis.
  • QLineEdit: Membuat kotak teks untuk input pengguna.
  • QPushButton: Membuat tombol untuk memicu aksi.
  • QVBoxLayout: Membuat layout vertikal untuk mengatur tata letak komponen UI secara vertikal.
  • self.setLayout(layout): Menetapkan layout ke jendela aplikasi.

Menghitung Luas dan Keliling

def hitung_luas(self):

    # ...

def hitung_keliling(self):

    # ...

  • Fungsi hitung_luas dan hitung_keliling dihubungkan dengan tombol masing-masing melalui clicked.connect.
  • Fungsi-fungsi ini mengambil nilai dari kotak teks, melakukan perhitungan, dan menampilkan hasilnya pada label hasil.

Loop Utama

if __name__ == '__main__':

    # ...

  • Blok kode ini merupakan titik masuk eksekusi program.
  • Membuat objek aplikasi QApplication.
  • Membuat objek jendela JajarGenjangApp.
  • Menampilkan jendela dan menjalankan loop aplikasi.

Alur Kerja Singkat

  1. Program dimulai.
  2. Sebuah jendela dengan label, kotak teks, dan tombol dibuat.
  3. Pengguna memasukkan nilai alas dan tinggi (atau sisi 1 dan sisi 2).
  4. Ketika tombol "Hitung Luas" atau "Hitung Keliling" ditekan, fungsi yang sesuai dijalankan.
  5. Fungsi menghitung luas atau keliling dan menampilkan hasilnya pada label.

Konsep Penting dalam Kode

  • Objek: Setiap elemen UI (label, kotak teks, tombol, dll.) adalah sebuah objek dalam Python.
  • Metode: Fungsi yang didefinisikan dalam sebuah kelas disebut metode.
  • Sinyal dan Slot: clicked.connect adalah contoh dari mekanisme sinyal dan slot. Ketika tombol ditekan (sinyal), fungsi yang terhubung (slot) akan dijalankan.
  • Layout: Layout digunakan untuk mengatur tata letak komponen UI dalam jendela.

Ringkasan

Kode ini menunjukkan cara dasar membuat aplikasi GUI sederhana menggunakan PyQt5. Konsep-konsep seperti objek, kelas, metode, dan sinyal-slot adalah kunci dalam pemrograman dengan PyQt5. Dengan memahami kode ini, Anda dapat mulai membangun aplikasi GUI yang lebih kompleks.

Pengembangan Lebih Lanjut:

  • Validasi Input: Anda bisa menambahkan validasi untuk memastikan pengguna hanya memasukkan angka.
  • Unit Pengukuran: Tambahkan opsi untuk memilih unit pengukuran (cm, m, dll.).
  • Antarmuka yang Lebih Baik: Gunakan CSS untuk mengatur tampilan visual aplikasi.
  • Fitur Tambahan: Tambahkan fitur untuk menghitung bangun datar lainnya.

Related Posts

Post a Comment

Subscribe Our Newsletter