Thursday, December 5, 2024

Pertemuan 14 - Pemrograman GUI

 Nama: Muhammad Risyad Himawan Putra

NRP: 5025231205

Kelas: Pemrograman Berbasis Obyek (G)


GUI Programming
Implementation in BlueJ

 Source Code: MRHP1/Pertemuan_14

Class OFImage

OFImage(BufferedImage image)

    • Menginisialisasi objek OFImage dengan menyalin data dari objek BufferedImage yang sudah ada.
      • Menyalin model warna dan data gambar dari BufferedImage ke dalam objek OFImage.

OFImage(int width, int height)

    • Konstruktor untuk membuat objek OFImage dengan ukuran yang ditentukan (lebar dan tinggi), tanpa konten gambar yang spesifik.

void setPixel(int x, int y, Color col)

    • Menetapkan nilai piksel pada posisi (x, y) dengan warna yang ditentukan dalam objek Color.

Color getPixel(int x, int y)

    • Mengambil warna piksel pada posisi (x, y) dalam bentuk objek Color.

darker()

    • Menurunkan kecerahan gambar dengan memproses setiap piksel dan menerapkan metode darker() pada setiap warna piksel.

lighter()

    • Meningkatkan kecerahan gambar dengan memproses setiap piksel dan menerapkan metode brighter() pada setiap warna piksel.

threshold()

    • Melakukan operasi threshold tiga level pada gambar, mengubah warna setiap piksel menjadi hitam, abu-abu, atau putih berdasarkan kecerahannya.

Class ImagePanel

ImagePanel()

    • Menginisialisasi objek ImagePanel yang digunakan untuk menampilkan gambar. Panel ini memiliki ukuran default 360x240 piksel.

void setImage(OFImage image)

    • Menetapkan gambar yang akan ditampilkan pada panel, serta memperbarui ukuran panel sesuai dengan ukuran gambar yang baru.

void clearImage()

    • Membersihkan gambar yang ditampilkan dengan mengisi panel dengan warna latar belakang terang.

void paintComponent(Graphics g)

    • Digunakan untuk menggambar ulang panel dan menampilkan gambar yang ada pada ImagePanel.

Class ImageViewer

ImageViewer()

    • Menginisialisasi objek ImageViewer yang berfungsi sebagai aplikasi tampilan gambar dan memungkinkan pengguna untuk membuka, mengedit, dan menyimpan gambar.

void openFile()

    • Menampilkan dialog pemilih file untuk memilih dan membuka gambar baru. Jika gambar berhasil dimuat, maka gambar tersebut ditampilkan pada panel.

void close()

    • Menutup gambar yang sedang ditampilkan dan membersihkan panel gambar.

void quit()

    • Menutup aplikasi ImageViewer.

void makeDarker()

    • Memproses gambar untuk membuatnya lebih gelap dengan menggunakan metode darker() yang telah disediakan dalam objek OFImage.

void makeLighter()

    • Memproses gambar untuk membuatnya lebih terang dengan menggunakan metode lighter() yang telah disediakan dalam objek OFImage.

void applyThreshold()

    • Memproses gambar dengan metode threshold() untuk membuat gambar dengan tiga level warna berdasarkan kecerahan piksel.

Class FileManager

FileManager()

    • Menginisialisasi objek FileManager yang digunakan untuk mengelola operasi file seperti membuka, membaca, menyimpan, dan menulis gambar.

File openFile(String fileName)

    • Membuka file gambar yang ditentukan dengan nama file fileName. Mengembalikan objek File yang merepresentasikan file gambar tersebut.

void saveImage(File file, OFImage image)

    • Menyimpan gambar yang ada dalam objek OFImage ke dalam file yang ditentukan. Operasi ini akan menulis file ke disk dengan format gambar yang sesuai.

OFImage loadImage(File file)

    • Memuat gambar dari file yang ditentukan. Mengembalikan objek OFImage yang memuat data gambar yang ada dalam file tersebut.


Testing

Class Login

Login()

    • Menginisialisasi objek Login dengan username dan password yang telah ditentukan.

void go()

    • Menginisialisasi JFrame sebagai tampilan utama aplikasi.
    • Mengatur JPanel dengan layout GridLayout untuk menata komponen secara vertikal.
    • Menambahkan komponen-komponen seperti label untuk username dan password, serta tombol Login dan Cancel.

class LoginListener implements ActionListener

    • Menangani aksi yang terjadi ketika tombol Login ditekan.
    • Memeriksa apakah username dan password yang dimasukkan sesuai dengan yang telah ditentukan.
    • Menampilkan pesan Login Granted! jika berhasil, atau Login Denied jika gagal.

class CancelListener implements ActionListener

    • Menangani aksi yang terjadi ketika tombol Cancel ditekan.
    • Membersihkan teks yang ada di JTextField untuk username dan password.
    • Fokus kembali di txtUsername agar pengguna bisa langsung memasukkan username baru.

Penjelasan Fungsi Utama

Login

    • Merupakan class utama yang memuat logika untuk tampilan dan interaksi pada jendela login.
    • Username dan password yang dimasukkan akan dibandingkan dengan nilai yang telah ditentukan di dalam kode, yaitu risyad dan 123.

LoginListener

    • Class ini berfungsi untuk memproses login dan memberikan feedback kepada pengguna setelah memeriksa data login.
    • Jika username dan password sesuai, maka akan muncul pesan Login Granted! sebagai pemberitahuan berhasil.
    • Jika username atau password salah, maka akan muncul pesan Login Denied.

CancelListener

    • Class ini menangani aksi pembatalan, yang menghapus teks di kolom input dan mengatur fokus kembali ke kolom username.

Testing








No comments:

Post a Comment

PPB EAS - Aplikasi Member Timezone

Manajemen Keanggotaan & Loyalty Program Timezone dengan Room Database dan Jetpack Compose Aryaka Leorgi Epridaka - 5025231117 Muhammad ...