18 June 2019

GUI JAVA

 Graphic User Interface (GUI) adalah pemrograman dengan bahasa Java yang dibuat menggunakan aplikasi yang berbasiskan GUI. Tujuannya adalah menambahkan beberapa komponen yang tidak bisa dibuat dalam basis text.
Komponen-konponen tersebut bisa berupa tombol, gambar, dll. Tujuannya adalah untuk memudahkan user menggunakan program yang dibuat tersebut.
Kalau dilihat pengertian tentang GUI secara umum adalah Interaksi yang dapat dilaksanakan oleh user melalui menu dan icon yang diperlihatkan dalam modus grafik. Contoh implementasi GUI-based shell ini adalah pada sistem operasi Microsoft Windows.

Make Tabel
lalu klik “Save”

Oke database sudah terisi, saatnya kita masuk ke coding.

Buka Netbeans -> New Project -> Java Application -> Masukan Nama Projek (Finish)


https://arrivalds.files.wordpress.com/2014/12/nama-projek.png
Setelah Project berhasil dibuat, Kita buat sebuah Class yang berfungsi untuk mengkoneksikan program ke database.



New Class




















KoneksiDBClass

Klik Finish, nah class KoneksiDB telah sukses dibuat. selanjutnya untuk mengkoneksikan Program ke Database MySQL itu membutuhkan sebuah Library Tambahan, cara menambahkan library yaitu klik Kanan pada folder “Libraries” dalam projek anda.
Libraries

setelah itu pilih library “MySQL JDBC Driver”
https://arrivalds.files.wordpress.com/2014/12/mysqljdbc.png
Klik Add Library, oke semua kebutuhan sudah siap. Buka class KoneksiDB.java lalu tambahkan Coding ini di bawah Kode “package testcrud;”

    import com.mysql.jdbc.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.logging.Level;
    import java.util.logging.Logger;

Kode diatas adalah coding untuk mengimport library-library yang dibutuhkan program. Selanjutnya tambahkan fungsi koneksi ini didalam constructor (public class KoneksiDB {} )

    public static Connection setKoneksi() {
    String konString = “jdbc:mysql://localhost:3306/db_testkoneksi”;
    Connection koneksi = null;
    try {
    Class.forName(“com.mysql.jdbc.Driver”);
    koneksi = (Connection) DriverManager.getConnection(konString,”root”,””);
    System.out.println(“Koneksi Berhasil”);
    } catch (ClassNotFoundException ex) {
    Logger.getLogger(KoneksiDB.class.getName()).log(Level.SEVERE, null, ex);
    System.out.println(“Koneksi Gagal”);
    } catch (SQLException ex) {
    Logger.getLogger(KoneksiDB.class.getName()).log(Level.SEVERE, null, ex);
    System.out.println(“Koneksi Gagal”);
    }
    return koneksi;
    }

tambahkan juga dibawah fungsi koneksi, yaitu fungsi untuk execute insert, update, delete

    public static int execute(String SQL) {
    int status = 0;
    Connection koneksi = setKoneksi();
    try {
    Statement st = koneksi.createStatement();
    status = st.executeUpdate(SQL);
    } catch (SQLException ex) {
    Logger.getLogger(KoneksiDB.class.getName()).log(Level.SEVERE, null, ex);
    }
    return status;
    }

setelah itu juga kita buat fungsi untuk select data dengan perintah executeQuery

    public static ResultSet executeQuery(String SQL) {
    ResultSet rs = null;
    Connection koneksi = setKoneksi();
    try {
    Statement st = koneksi.createStatement();
    rs = st.executeQuery(SQL);
    } catch (SQLException ex) {
    Logger.getLogger(KoneksiDB.class.getName()).log(Level.SEVERE, null, ex);
    }
    return rs;
    }

oke, selanjutnya kita buat sebuah Form dengan cara klik kanan di package aplikasi anda -> New -> JFrame Form.

New JFrame 

masukan nama Form, saya berinama “frmMain” lalu klik Finish. dan akan muncul tampilan seperti ini.
JFrame 
Desain JFrame 
selanjutnya kita ganti nama setiap objek dengan cari klik kanan di objeknya -> Change Variable Name -> Masukan nama objek (contoh: txtNIS,tblData,btnAdd,dll)

setelah semua objek sudah diganti namanya kita buka bagian Source dari frmMain.java

pertama kita akan buat prosedur untuk mengambil data (select) dari database, masukan coding ini dibawah constructor (public frmMain() {})

    public void selectData() {
    String kolom[] = {“NIS”,”Nama”,”Jenis Kelamin”,”Kelas”,”Alamat”};
    DefaultTableModel dtm = new DefaultTableModel(null, kolom);
    String SQL = “SELECT * FROM t_siswa”;
    ResultSet rs = KoneksiDB.executeQuery(SQL);
    try {
    while(rs.next()) {
    String NIS = rs.getString(1);
    String Nama = rs.getString(2);
    String JK = “”;
    if (“L”.equals(rs.getString(3))) {
    JK = “Laki-Laki”;
    } else {
    JK = “Perempuan”;
    }
    String Kelas = rs.getString(4);
    String Alamat = rs.getString(5);
    String data[] = {NIS,Nama,JK,Kelas,Alamat};
    dtm.addRow(data);
    }
    } catch (SQLException ex) {
    Logger.getLogger(frmMain.class.getName()).log(Level.SEVERE, null, ex);
    }
    tblData.setModel(dtm);
    }

Penjelasan :

Line 1 – Membuat Prosedur dengan Nama selectData()

Line 2 – Membuat Nama-Nama Kolom Table dengan Variabel Array kolom[]

Line 3 – Meninstansiasi DefaultTableModel dengan parameter (baris, kolom) karena baris diambil dari database maka parameter pertama diisi null

Line 4 – Query SQL untuk mengambil data

Line 5 – Mengexecute query sql dengan fungsi executeQuery yang sudah dibuat pada class KoneksiDB

Line 7 – Looping saat data didapatkan

Line (8-17) – Mengambil data yang didapatkan dari Database ke variabel

Line 18 – Memasukkan semua variabel kedalam satu array (row)

Line 24 – Memasukkan data dari DefaultTableModel ke tblData/JTable (objek tabel yang ada di form)

Silahkan di run.

Masih kosong ya? ya karena kita belum memasukkan sebuah data ke table t_siswa.

Sekarang kita coba buat fungsi untuk Insert data ke database, klik 2x objek button Add dan tambahkan coding ini didalamnya

    if (“”.equals(txtNIS.getText()) || “”.equals(txtAlamat.getText()) ||
    “”.equals(txtKelas.getText()) || “”.equals(txtNama.getText())) {
    JOptionPane.showMessageDialog(this, “Harap Lengkapi Data”, “Error”, JOptionPane.WARNING_MESSAGE);
    } else {
    String JK = “”;
    if (rdLaki.isSelected()) {
    JK = “L”;
    } else {
    JK = “P”;
    }
    String SQL = “INSERT INTO t_siswa (NIS,NamaSiswa,JenisKelamin,Kelas,Alamat) ”
    + “VALUES(‘”+txtNIS.getText()+”‘,'”+txtNama.getText()+”‘,'”+JK+”‘,”
    + “‘”+txtKelas.getText()+”‘,'”+txtAlamat.getText()+”‘)”;
    int status = KoneksiDB.execute(SQL);
    if (status == 1) {
    JOptionPane.showMessageDialog(this, “Data berhasil ditambahkan”, “Sukses”, JOptionPane.INFORMATION_MESSAGE);
    selectData();
    } else {
    JOptionPane.showMessageDialog(this, “Data gagal ditambahkan”, “Sukses”, JOptionPane.WARNING_MESSAGE);
    }
    }

Penjelasan :

Line (1-4) – Validasi jika inputan masih kosong

Line (6-11) – Pengecekan Radio button yang diselect

Line (12 – 14) – Query Insert

Line (15-17) – Jika Berhasil tampilkan pesan sukses

Line 18 – Refresh data di table

Line (19 – 21) – Jika gagal munculkan pesan gagal

Nah, sekarang coba di run lagi dan tambahkan sebuah data ke database

SuksesinsertData

Yee, data berhasil masuk ke database.

sekarang kita buat fungsi untuk refresh, klik 2x button refresh dan didalamnya masukkan coding

    selectData();

untuk load ulang data di table dari database.

oke Insert dan Refresh sudah berhasil, selanjutnya kita buat fungsi untuk delete.

Klik 2x button delete dan masukkan coding ini didalamnya

    int baris = tblData.getSelectedRow();
    if (baris != -1) {
    String NIS = tblData.getValueAt(baris, 0).toString();
    String SQL = “DELETE FROM t_siswa WHERE NIS='”+NIS+”‘”;
    int status = KoneksiDB.execute(SQL);
    if (status==1) {
    JOptionPane.showMessageDialog(this, “Data berhasil dihapus”, “Sukses”, JOptionPane.INFORMATION_MESSAGE);
    } else {
    JOptionPane.showMessageDialog(this, “Data gagal dihapus”, “Gagal”, JOptionPane.WARNING_MESSAGE);
    }
    } else {
    JOptionPane.showMessageDialog(this, “Pilih Baris Data Terlebih dahulu”, “Error”, JOptionPane.WARNING_MESSAGE);
    }

Penjelasan :

Line 1 – Mengambil Index baris tabel yang di pilih user

Line (2-5) – Validasi jika user memilih data selanjutnya ambil Index atau Primary dari data di kasus ini adalah NIS dengan mengambil selectedRow dan index kolom pertama (0)

Line (6-8) – Jika Sukses tampilkan pesan

Line (9 – 11) – Jika gagal tampilkan pesan

Line (13-15) – Jika user belum memilih baris tampilkan pesan
Form

Contact

Talk to us

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolores iusto fugit esse soluta quae debitis quibusdam harum voluptatem, maxime, aliquam sequi. Tempora ipsum magni unde velit corporis fuga, necessitatibus blanditiis.

Address:

9983 City name, Street name, 232 Apartment C

Work Time:

Monday - Friday from 9am to 5pm

Phone:

595 12 34 567